好吧,我必须调试内存分配问题。 应用程序随着时间的推移耗尽内存。 我需要为.net窗口应用程序模拟低内存系统,以便更快地重现内存不足问题。

PS:我的初步调查表明,在应用程序分配非托管资源(Managed DX)时会发生内存泄漏。

===============>>#1 票数:9

编写另一个程序来分配你所有系统的内存:)

或者,在具有低内存的VM中进行调试

===============>>#2 票数:1

static volatile byte[] wasted; //volatile to avoid any compiler cleverness "saving" us!
static void Main(string[] args)
{
   wasted = new byte[1024 * 1024 * 1024];//waste a gig!
}

在您的应用上运行Application Verifier也是值得的。

===============>>#3 票数:0

另外,我建议您使用.NET分析器,以便检查程序的哪个区域分配更多内存。

===============>>#4 票数:0

如果应用程序内存不足,访问非托管资源,则可能是内存泄漏。 在低内存环境中运行应用程序不会直接帮助您诊断问题,它会更快地发生。

您需要分析应用程序的内存使用情况,以确定如何分配内存并找到泄漏。 正常的分析工具无济于事,因为不会分析非托管代码。 您必须通过内存监控应用获得创意。

  ask by Trainee4Life translate from so

未解决问题?本站智能推荐:

2回复

DirectShow导致.NET应用程序中的时间变慢

在我们的C#.NET应用程序中,我们有两个DirectShow过滤器图,每个图都显示一个视频设备和一个音频设备。 每当滤波器图形运行时,系统时间减慢大约每分钟4-6秒...图形不编码任何东西,只显示来自源的内容。 这只发生在应用程序中而不是GraphEdit中。 什么可能导致这样的
1回复

.NET或ActiveX组件,用于播放常见的视频格式

我正在寻找任何可靠的,商业或免费软件组件,以在.NET应用程序中添加视频播放支持。 尝试了许多选项和包,但似乎没有一个可以处理常见格式的播放。 最常见的选项-Windows Media Player ActiveX-很好,但是需要在用户计算机上安装WMPlayer。 Media
3回复

使用DirectShow.NET的音频同步问题

我在DirectShow.NET的论坛上开始了一个帖子,这里是链接http://sourceforge.net/projects/directshownet/forums/forum/460697/topic/5194414/index/page/1但不幸的是问题仍然存在... 我有一个应
1回复

如何通过directshow.net配置摄像机?

我发现一些示例使用directshow.net(在C#中)从摄像机捕获视频,但是我没有看到任何有关配置视频的示例(例如,背光补偿,亮度,对比度,清晰度,白平衡,色相...) ,相机设置(曝光,焦点,摇摄,摇摄,倾斜,缩放...),视频输出格式......如果您给我一个指导如何操作的示例或文档链接
1回复

DirectShow.Net没有过滤器的组合,但在GSpot中很好

我正在尝试使用来自“ http://directshownet.sourceforge.net/ ”的DirectShot.Net包装器从许多视频文件中提取帧。 每当我运行DxScan示例应用程序时。 我收到“找不到中间过滤器的组合来建立连接”。 WMV文件,MP4文件,AVI文件会发
1回复

使用DirectShow.net从.mov文件中抓取帧

如何使用DirectShow.net从c#.net中的.mov文件中获取帧
2回复

directshow.net控制DLL与vb6一起工作

我设法得到我的.net DLL包,它与DirectShow.net接口,用于将图像捕获到vb6中。 .net DLL包含DirectShow.net库中提供的dxSnap示例的函数,并在.net应用程序中工作。 我添加了Interop函数,VB6识别函数,并在返回类型函数上正常工作。
1回复

DirectShow(.net)h264编码器/解码器

在我的项目中,我必须遵循此工作流程 我必须拍摄网络摄像头捕获的图像并预览 在后台使用H264对其进行编码 保存在桌子上 解码保存的文件以播放。 我已经使用Direct Show .net实现了这一点,并且已经成功实现了步骤1,但是现在我陷入了从2开始的问
3回复

使用DirectShow.NET从网络摄像头捕获帧

我是DirectShow的新手,所以我对该库的某些部分不太了解。 我已经看到了示例DxSnap,但是我需要在不预览的情况下捕获帧以进行进一步处理。 我该怎么做?
1回复

使用DirectShow.Net以较低的分辨率从网络摄像头中捕获高分辨率的图片

我正在使用DirectShow.Net将网络摄像头流式传输到C#(4.0)应用中以读取QR码。 它每.5秒拍摄一次快照,以查看是否可以找到任何QR码并将其解码。 在我可以使用网络摄像头的任何分辨率下,它在我的开发计算机上都能很好地工作,但是当我在目标计算机(Panasonic CF-U1 T