2008-11-12 35 views
1

我想知道是否有允许在C#代码中跟踪间歇性OutOfMemoryExceptions的工具。在C#代码中跟踪OutOfMemoryExceptions

理想情况下,我在寻找能够检测OOM情况的东西,一旦发生这种情况,它将允许查看托管堆的内容。

我通常使用WinDBG + SOS扩展来查看堆状态。这种方法的问题是我的问题是间歇性的,并且在异常发生时我没有转储文件。在WinDBG中遍历堆并不是真正的用户友好体验。

回答

0

难道你想跟踪这个异常,或者你想找出原因吗?我已使用AQTime在托管/非托管代码中搜索内存泄漏并取得了相当大的成功。

0

我会说WinDbg + SOS是一个很好的组合,但我会告诉你它不是最有吸引力的用户体验。

我的建议是,您设置您的即时调试器来创建故障转储,然后使用WinDbg来查找错误。

请注意,内存不足异常的故障转储可能会很大。