每次打开try块时.net都会注册一个新的异常处理程序吗?

Exi*_*tos 6 c# exception-handling visual-studio-2010

只是阅读第一次和第二次机会异常.调试调试器时,在程序执行之前获得第一次机会异常.那记住如何附加异常处理程序工作.是否每次打开try块时都会附加另一个异常处理程序?

sll*_*sll 3

这是我发现张俊峰的精彩文章:“从未处理的异常到调试器附加”

这称为事后调试设置,您可以在 Windows 系统注册表中自行设置事后调试器,当 Visual Studio 安装时,注册表项\\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug包含:

"C:\WINNT\system32\vsjitdebugger.exe" -p %ld -e %ld

因此 Visual Studio JIT 调试器被定义为默认事后调试器。

只是要点:(详细信息请参阅文章)

Windows 可以通过多种方式处理用户模式错误。以下序列显示了错误处理的优先级:

  1. 如果用户模式调试器当前附加到故障进程,则所有错误都将导致目标中断到此调试器。

  2. 如果没有附加用户模式调试器并且执行代码有自己的异常处理例程(例如,try - except),则此异常处理例程将尝试处理错误。

  3. 如果没有连接用户模式调试器,并且 Windows 具有打开的内核调试连接,并且错误是断点中断,则 Windows 将尝试联系内核调试器。