我问过一个关于处理 C# 应用程序中命令行工具崩溃的问题堆栈溢出。我被引导到这个论坛来查找如何避免 WerFault.exe 跳入并显示命令行工具的崩溃报告消息,我想用我的 C# 应用程序来处理该命令行工具的崩溃。
答案1
默认情况下,Windows 会处理崩溃,访问 Stack Overflow寻找一种编程解决方案来挂接到进程中,而不是等待捕获。但是,您可能不需要自己挂接:
Windows 查找
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
以便知道在发生粗鲁行为时需要启动哪个调试器。
最常见的生成器是:
最常见的调试器是:
其中,你也许可以只让沃森医生或者进程转储完成它的工作,之后您可以打开调试文件获取更多信息。如果您需要阅读它们生成的*.dmp
文件,这三个链接可能会帮助您:
更好的是,你也许可以使用进程转储甚至不需要设置AeDebug\Debugger
。