我对调试转储非常陌生,所以仍然有一些问题。
我读过一些关于调试转储的问题,现在我已经将我的代码附加到转储,并且可以看到变量的一些值。
我的问题是如何预览原始堆数据。我想要这个,因为转储非常大,超过4GB,所以某个地方有很大的内存泄漏,可能导致崩溃。所以将寻找一些剩下的字符串。
BTW我用C编码并使用Visual Studio 2012进行调试,但我可以下载一些其他程序:)
您应该使用WinDbg和! heap
命令来检查进程中的Win32堆。您可以发现此命令的许多变体很有用:!heap-s-h 0
将为您提供统计信息,!heap-h 0
将列出所有堆中的所有块,等等。
您可能还需要考虑我的heap_stat.py调试器脚本,它将尝试在堆内存中搜索具有vtable指针的对象,从而确定哪些类别的对象占用了大量堆空间。
https://github.com/goldshtn/windbg-extensions/blob/master/heap_stat.py