当调试器因出现异常而中断执行时,会显示一个对话框。 对于 Visual Basic 或 C#,默认情况下,您将看到异常助手对话框。 对于 C++,您将看到较早的**“异常”对话框。 如果您使用的是 Visual Basic 或 C#,但已在“选项”对话框中禁用“异常助手”,则您将看到“异常”**对话框。
在出现**“异常助手”或“异常”**对话框时,您可以尝试修复导致异常的问题。
托管代码
在托管代码中,您可以在出现未经处理的异常后在同一线程内继续执行。 **“异常助手”**将调用堆栈回退到引发异常的点。
本机代码
在本机 C/C++ 中,您有两个选项:
您可以单击**“中断”并尝试修复问题。 在中断模式下,您可以右键单击“调用堆栈”窗口中的帧并选择快捷菜单中的“展开到此帧”来展开调用堆栈。 如果未能修复问题,则继续调试时,“异常”对话框将再次显示。 否则,“异常”**对话框将不会再次出现。
您可以单击**“继续”**以继续执行,而不尝试修复问题。 **“异常”**对话框随即重新出现。
混合模式
如果在调试本机和托管混合的代码时遇到未经处理的异常,则操作系统约束将阻止调用堆栈展开。 如果尝试使用快捷菜单来展开调用堆栈,则会出现一个错误消息,告诉您在混合代码调试期间,调试器无法在异常未得到处理的情况下展开调用堆栈。