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