我有一个生产代码,从一个星期开始每天崩溃一次/两次。
崩溃是由于内存堆损坏
为了发现我的应用程序出了什么问题,我尝试使用GFlags。
我已经用GFlags激活了页面堆(我已经在Windows registery中检查到我的应用程序的条目已经创建好了)
该应用程序在Windows下运行,我已经使用MSCV2010开发了它。
我将应用程序置于生产中的DEBUG模式下,并在Microsoft Visual Stuio中使用了“附加到处理”功能。
当崩溃发生时,我现在有以下调用堆栈:
wow64!Wow64NotifyDebugger+0x9
wow64!Wow64KiRaiseException+0x172
wow64!Wow64SystemServiceEx+0xd6
wow64cpu!ServiceNoTurbo+0x28
wow64!RunCpuSimulation+0xa
wow64!Wow64LdrpInitialize+0x2ed
ntdll!LdrpInitialize+0x2aa
ntdll!KiUserApcDispatcher+0x15 (TrapFrame @ 00000000`03e3fb38)
kernel32!BaseThreadStartThunk
ur ...
看来我在解决问题方面并不先进。
关于使用GFlags有什么建议吗?
更一般地说,我对GFlags有什么期望,可以告诉我应用程序中的错误在哪里?
最佳答案
也许这篇文章对您有帮助:32-bit stack traces from x64 complete dumps
您可以使用Visual Studio通过使用Debug>Save dump as
保存转储文件
然后可以在windbg中打开该转储文件。
关于c++ - 内存堆损坏+ GFlags工具,但没有结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8615281/