为什么在核心转储中获得“第一/第二次机会不可用”

use*_*890 5 c++ debugging windbg dump

我使用windbg调试故障转储,在windbg的以下输出中,您可以看到“第一次/第二次机会不可用”,为什么这里第一次/第二次机会不可用?这是什么意思?

This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(e38.2270): Access violation - code c0000005 (first/second chance not available)
Run Code Online (Sandbox Code Playgroud)

Ton*_*ion 4

第一次/第二次机会是指可以抛出的异常以及可以利用的调试器的处理机制。当使用调试器调试应用程序时,调试器可以在应用程序之前看到异常,因此这是处理异常的第一个机会。

一次机会异常是由调试器处理异常的第一次机会机制处理的异常。

事实上,这里没有任何可用的异常,很可能意味着发生此错误时没有引发异常,或者调试器中没有可用的第一次机会处理机制来处理引发的任何异常。

我敢打赌,这个错误不会因此而引发异常,这只是一个段错误。

  • “此转储文件中存储了一个感兴趣的异常”意味着引发了异常。段错误*是*一个例外。不要将 C++ 异常与 [SEH 异常](http://www.microsoft.com/msj/0197/exception/exception.aspx) 混淆。 (2认同)