我的一个程序定期崩溃,但我不知道为什么。我在 Debug模式下运行它,但没有弹出任何内容。该程序突然退出。我遇到过其他会引发异常的错误……但不是这个。有什么神奇的方法可以捕捉到它吗?
最佳答案
假设您是从 Visual Studio 中运行它,并且由于某种原因它没有在调试器中停止并出现未捕获的异常,在这种情况下,您可以尝试从 Visual Studio 外部捕获崩溃。在 System.AccessViolationException from unmanaged code? 查看我的回答, 特别是 how to capture a crash dump .
如果它只是定期崩溃,但在相当短的时间内崩溃,请从 Sysinternals procdump 开始.从 Visual Studio 外部启动您的可执行文件,然后运行:
procdump -e <YourExecutableNameOrPid>
并等待它收集故障转储 - 假设它由于未处理的异常而退出 - 然后将故障转储加载到 VS 2010 或 WinDbg 中。
关于c# - 当程序崩溃而没有异常时如何调试程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3792456/