我已将 ADPlus / cdb 设置为我机器上的默认即时调试器。当任何进程出现未处理的异常或因任何其他原因崩溃时,我希望 ADPlus 为我生成故障转储。我正在使用 ADPlus 配置文件来设置输出目录并运行用于将 dmp 文件推送到云的预命令。
为了测试以确保它有效,我编写了一个非常简单的程序,该程序抛出未处理的异常并崩溃。ADPlus 总是像它应该的那样附加自己,但它只成功地生成了我想要的转储,大约 15 次。在不更改系统上的任何内容的情况下,我背靠背运行崩溃的程序并获得不同的结果。
大多数时候,我从 cdb 收到以下错误:
0:000> g
^ No runnable debuggees error in 'g'
0:000>
*[EOF]*
当它正常工作时,日志中的相同位置如下所示:
0:004> g
FirstChance_epr_Process_Shut_Down
*[More stuff after here]*
知道为什么我会得到这种行为吗?如果有帮助,我可以发布我的配置文件和完整日志。when-it-works 日志和 when-it-doesn't-work 日志之间的唯一区别是所有行都以0:004>
它工作的时间和不工作的时间开始0:000>
。