【将cmd中的数据写入内存而不是文件,用C#捕获】教程文章相关的互联网学习教程文章

c#-Silverlight Toolkit图表组件中可能的内存泄漏-帮助!【代码】

背景: 我一直在监视应用程序中使用2009年11月发行的Silverlight Toolkit图表组件,该应用程序每10秒钟左右更新一次多个折线图. 每个图表都有一个与ObservableCollection的绑定. DataValuePair是仅包含两个属性(DateTime和int)的简单类.在向集合中每次添加DataValuePair时,都会删除经过特定时间点的项目(即,每个集合中始终有< 50个DataValuePair对象).问题:内存不断增加.在WinDbg中,我可以看到DataValuePair对象(甚至是从Observabl...

C#-从内存中集合(.NET)快速自动完成

我在网页上有此文本输入字段.用户输入要购买的商品名称.我想提供一个下拉菜单,其中包含可能的名称,基于到目前为止输入的字母. 问题是如何在服务器(ASP.NET MVC)上实现搜索.我可能会在应用启动时将整个项目名称集合(超过10万个)加载到静态变量中.我应该如何有效地搜索以给定一个或多个字符开头的名称? TIA解决方法:您可以按名称对集合进行排序,然后编写修改后的二进制搜索以返回一系列项目. 但是,我建议先尝试一个简单的顺序搜索,看...

使用C#,C/C++LI和非托管C的应用程序的内存配置文件工具

我正在使用C#,C/C++LI和非托管C库的64位应用程序上工作. 我对找出非托管代码中的内存泄漏特别感兴趣. 我尝试使用ANTS事件探查器-尽管它对于C#应用程序非常有用,但它并没有为非托管代码中的内存泄漏提供太多信息. 我知道PurifyPlus是C语言的好工具,我发现它也支持.NET应用程序.但是,不幸的是,它不支持64位应用程序. 我期待看到有人在这里有更好的建议. 非常感谢!解决方法:如果您有源代码,则可以使用Visual Leak Detector.但是,您可...

C# WinForm应用程序降低系统内存占用方法总结【转】【代码】

WinForm程序点用一直是个大问题,时间运行长了,越来越大,最近在网上发现个贴,试了上面方法,从进程来看,内存确实降下去了,效果还不错。 这里整理了一些网上关于Winform如何降低系统内存占用的资料,供参考: 1、使用性能测试工具dotTrace 3.0,它能够计算出你程序中那些代码占用内存较多2、强制垃圾回收3、多dispose,close4、用timer,每几秒钟调用:SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1...

在C#中查找可用的内存插槽

我想知道如何在C#中找到可用内存插槽与主板上的已用插槽.使用WMI,我可以找到插槽的总数以及存储棒的列表,但是在两种情况下(尤其是后者)提供的信息似乎都是通用的,并且会根据主板的不同而有所变化. 本质上,我希望在主板上的每个插槽上创建一个列表,并确定要使用的插槽类型以及种类.我想这可以使用WMI来完成,但是如上所述,我似乎无法解决Win32_PhysicalMemory中的“ DeviceLocator”令人困惑和不确定的问题.解决方法:它需要结合使用W...

c#-.net内存分析器和固定【代码】

我正在使用Scitech的.Net Memory Profiler检查我的应用程序中的某些内容(在WinXP 64上运行).我看到很多情况下,我的应用程序使用的列表只有一个实时实例,该实例始终为32个字节,并显示为数组(例如Products []). 当我仔细查看实例时,它看起来好像没有被任何东西引用.如果我未选中“仅显示根路径中包含的实例”复选框,则引用的列表为空.如果取消选中该复选框,则只会看到:Object[] #307[9126]<GCHandle> #306 {Pinned}分配调用堆栈...

当我们将其传递给函数作为参数时,此数组将在C#中占用多少内存【代码】

我在C#中使用数组,如下所示:class abc {xyz x = new xyz(); // some other classpublic double [] arr = new double [100]; // Allocated 400 bytes // for this array.// 100 is imaginary size // shown here for simplicity.// Actual size will depend on input.private void something() {x.funA(arr);} }在上面的abc类中,数组消耗400个字节.现在,我已将此数组作为某些参数传递给类xyz中的参数. 我的问题是,是否将在类xyz中...

C#-证书内存泄漏【代码】

我正在使用.NET 3.5. 创建对X509Certificate的引用时遇到内存泄漏.我正在使用ANTS事件探查器来分析结果,并且专用字节在增加,而堆中的字节保持静态(指示由于未托管代码而导致的内存泄漏). 我正在使用CRYPT32 dll管理证书.我打开对证书存储的引用以获取作为内部指针(intptr)的存储句柄.然后,我使用此商店处理程序在商店中找到证书(本地保存).拥有证书后,我将关闭证书存储并将证书返回到调用程序.我在certclosestore中使用标志0,该标志...

c#-使用ImageResizer调整大图像的大小和内存不足异常【代码】

我在32位系统上使用ImageResizer.Net调整图像90009000方形的大小时遇到??内存不足的异常:ImageBuilder.Current.Build(imageFileName, outputFileName, settings, true);我能够使用流成功调整大型图像的大小:using (var stream = new FileStream(imageFileName, FileMode.Open, FileAccess.Read)) using (var img = Image.FromStream(stream, true, false)) {ImageBuilder.Current.Build(img, outputFileName, settings);stream.C...

C#-在运行时编译代码并使用加载到内存中的程序集【代码】

我需要在运行时编译C#代码.我正在使用这样的代码:CSharpCodeProvider provider = new CSharpCodeProvider(); CompilerParameters parameters = new CompilerParameters(); parameters.ReferencedAssemblies.Add("MyLibrary.dll"); // File Path on Hard Drive ...但是我想使用加载到内存中的库而不是它们的文件地址.可能吗?解决方法:如果它不是仅在内存中生成的程序集,则可以使用:parameters.ReferencedAssemblies.Add ( typ...

C#内存屏障【代码】

我对C#中的内存障碍有疑问.例如,如果写语句是方法中的最后一条语句(变量v2是所关注的变量):int _v1 = 0; int _v2 = 0void X() {_v1 = 2;_v2 = 3;Thread.MemoryBarrier(); }因为_v2写是最后一条语句,所以是否需要内存屏障语句.换句话说,处理器是否认识到这是方法的结束,应该将其缓存刷新到内存中. 提前致谢.解决方法:如果希望在写入_v2之后存在内存屏障,则应保持对Thread.MemoryBarrier的调用不变.我还没有看到任何文档建议在方法结...

c#-一个对象使用的内存及其依赖项【代码】

在C#中,是否可能知道一个对象及其依赖项分配了多少字节?我知道我可以使用dotMemory来做到这一点,但是从GC还是有某种方法可以从C#中获得它? 例如,如果我有这个:var x = new Tuple<int,int>[3] { Tuple.Create(0,0), Tuple.Create(0,0), Tuple.Create(0,0) };我正在寻找一个类似x.GetTotalMemorySize()的函数,该函数返回76 = 16 3 *(4(8 8))) 即: 16是数组开销中使用的字节数 3是数组中的元素数 4是元组指针使用的字节 8 8是int使...

C#-SelectMany使用ReactiveExtensions占用大量内存【代码】

我想创建一个接收图像并返回一些派生对象的管道. 我正在使用一系列位图,对于每个位图我都执行任务(即异步).如此简单.但是,我发现内存消耗确实很高.为了说明问题,我创建了可以运行的测试. 请查看一下内存,因为它将占用多达400 MB的RAM. 我该怎么做才能避免占用太多内存?这里发生了什么事?[Fact] public async Task BitmapPipelineTest() {var bitmaps = Enumerable.Range(0, 100).Select(_ => new WriteableBitmap(800, 600, 96, ...

c#-调查内存泄漏-承诺内存增长-堆很好

我正在调查C#/ WPF / .NET 4.51应用程序中可能的内存泄漏. 启动后以及分配的内存超过顶部数小时后,我直接为应用程序制作了快照. 我使用VisualStudio的进程转储工具检查了托管堆实例.一切看起来都很好. 在WinDbg中打开转储似乎可以确认这一点,因为堆和堆栈以我期望的方式增长(50MB)(左:第一个转储,右:最后一个转储): 令我烦恼的是,提交的页面的大小增长了很多(左:第一个转储,右:最后一个转储): 同样,VMMap将这个巨大的提交块显...

c#-LuaInterface内存泄漏问题【代码】

我发现我在C#/ Lua LuaInterface项目中存在严重的内存泄漏.我用C#编写了一个简单的测试函数,该函数每0.5秒从Lua循环调用一次.我看到Lua的内存使用量在每个循环中都在增加.我最新的C#辅助代码是public LuaTable testMemTable(){LuaTable tabx = m_lua.GetTable("tabx");if (tabx != null){tabx.Dispose();tabx = null;GC.Collect();GC.WaitForPendingFinalizers();}m_lua.NewTable("tabx");tabx = m_lua.GetTable("tabx");for (int ...