如何在程序崩溃时调试程序异常?

mpe*_*pen 10 c# debugging visual-studio

我的一个程序定期崩溃,但我不知道为什么.我在调试模式下运行它,但没有弹出任何东西.该计划突然退出.我有其他错误会引发异常...但不是这个.是否有一种神奇的方式来捕捉它或什么?

Sea*_*ett 8

据推测,您是在Visual Studio中运行它,并且出于某种原因,它没有在未调试的异常中停止在调试器中,在这种情况下,您可以尝试从Visual Studio外部捕获崩溃.从非托管代码中查看System.AccessViolationException的答案,特别是如何捕获崩溃转储.

如果它只是定期崩溃,但在相当短的时间内,从Sysinternals procdump开始.从Visual Studio外部启动可执行文件,然后运行:

procdump -e <YourExecutableNameOrPid>
Run Code Online (Sandbox Code Playgroud)

并等待它收获崩溃转储 - 假设它由于未处理的异常而退出 - 然后将崩溃转储加载到VS 2010或WinDbg中.