当应用正在被调试(debugged)时,调试器(debugger)可以比程序更早地看到这些异常,这是first chance exception和second chance exception的区别,就是前者中调试器得到第一个看到异常的机会(或许可以就从这个含义来翻译)。如果调试器不处理该异常而是允许程序继续执行,那么程序将看到异常。如果程序也不处理该异常,那么调试器就得到了第二个看到异常的机会,在这种情况下,如果调试器不起作用,那么程序通常会崩溃。
当初始化的代码中发生访问侵害(access violation)时,异常发布器(exception dispatcher)检测遇到该exception的进程是否正被debugged,如果是的话,这个first chance exception被送往debugger。
当初始化的代码中发生访问侵害(access violation)时,异常发布器(exception dispatcher)检测遇到该exception的进程是否正被debugged,如果是的话,这个first chance exception被送往debugger。
参考:
MSDN-First and Second Chance Exception Handling
本文详细解释了first chance exception和second chance exception的概念及其区别。当程序出现异常时,调试器如何获得处理异常的机会,并探讨了异常发布器在检测到访问侵害时的作用。
2万+

被折叠的 条评论
为什么被折叠?



