假设你是在Visual Studio中运行它,并且由于某种原因,它没有在调试器中停止,出现了一个未捕获的异常,在这种情况下,你可以尝试从Visual Studio外部捕获崩溃。请参阅我在System.AccessViolationException from unmanaged code?中的回答,特别是how to capture a crash dump。 如果它只是周期性地崩溃,但在合理的短时间内,请从Sysinternals procdump启动。从Visual Studio外部启动可执行文件,然后运行:
2条答案
按热度按时间6g8kf2rb1#
假设你是在Visual Studio中运行它,并且由于某种原因,它没有在调试器中停止,出现了一个未捕获的异常,在这种情况下,你可以尝试从Visual Studio外部捕获崩溃。请参阅我在System.AccessViolationException from unmanaged code?中的回答,特别是how to capture a crash dump。
如果它只是周期性地崩溃,但在合理的短时间内,请从Sysinternals procdump启动。从Visual Studio外部启动可执行文件,然后运行:
并等待它收集崩溃转储-假设它由于未处理的异常而退出-然后将崩溃转储加载到VS 2010或WinDbg中。
iyr7buue2#
程序突然退出
一定要检查你的代码,或者你使用的库之一,没有调用exit()(是的,听起来可能太简单了,但是我们曾经花了几个小时来跟踪随机程序的关闭到exit()调用..)。如果是这样,在那里设置一个断点或者更改为throw(),然后再次运行。如果不是,Sean的答案似乎是合法的。