我想知道是否有一个工具允许在C#代码中跟踪间歇性的OutOfMemoryExceptions。
理想情况下,我正在寻找可以检测OOM情况的内容,一旦发生,它将允许查看托管堆的内容。
我通常使用WinDBG + SOS扩展来查看堆状态。这种方法的问题是我的问题是间歇性的,并且在异常发生时我没有转储文件。在WinDBG中遍历堆也不是用户友好的体验。
答案 0 :(得分:2)
答案 1 :(得分:0)
您是要跟踪此异常还是要确定原因?我使用AQTime来搜索托管/非托管代码中的内存泄漏,并取得了相当大的成功。
答案 2 :(得分:0)
我想说WinDbg + SOS是一个很好的组合,但我会告诉你它并不是最吸引人的用户体验。
我的建议是你设置你的及时调试器来创建崩溃转储,然后使用WinDbg来查找错误。
请注意,内存不足异常的崩溃转储可能非常严重。