c# - 当程序崩溃而没有异常时如何调试程序?

标签 c# visual-studio debugging

我的一个程序定期崩溃,但我不知道为什么。我在 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/

相关文章:

c# - 图像编辑异常(exception)

visual-studio - 单元测试的 Resharper 问题

c++ - 如何让 XCode 6 在调用 Debugger() 时不停止执行?

c# - 无法找到运行时 clr.dll 以使用 sos

c# - 将 XMLElement(Order) 属性与 XMLArrayItem 属性一起使用

c# - 无论如何要创建一个变量 "partially protected"?

c# - CaSTLe DynamicProxy IInterceptor 或 ProxyGenerator 应该缓存吗?

C# 为什么我可以在函数内部而不是其他任何地方创建标签数组?

.net - 将 MSBuild 与 Hudson 一起使用?

sql - 追踪神秘更新 SQL 的技巧?