目前我必须在我的 catch 子句中设置断点。我想知道是否有一种方法可以使编译器在 catch 子句中自动突出显示某个语句。现在我必须在我的异常处理程序中设置一个断点,以便我的编译器让我知道它已经进入了一个异常处理程序。我正在使用 VS2010
问问题
79 次
4 回答
2
您可以将__debugbreak();
(comes from <intrin.h>
) 放在您的catch
子句中,IDE 将在__debugbreak();
到达时停止。
于 2013-04-05T15:02:17.303 回答
1
我不知道有这样的功能。
但是,如果您进入Debug > Exceptions
菜单,您可以切换异常类型,当它们被抛出时调试器将中断它们。我知道这与他们被捕时不同,但你应该能够catch
从那里通过几个“步入/结束”步骤来达成声明。
于 2013-04-05T14:59:49.103 回答
0
您可以添加一个ASSERT(FALSE)
,这将导致调试器在该行停止以进行调试构建。
于 2013-04-05T14:53:44.460 回答
0
只是要明确一点:至少据我了解情况,您需要在特定行上设置断点,但前提是/如果执行了特定的 catch 子句。如果这就是你想要的,有办法做事,但(据我所知)你可能需要稍微修改你的代码才能让它工作。
我至少会这样做:
- 创建一个全局变量,例如:
bool exception_caught;
- 在相关的 catch 子句中,添加
exception_caught = true;
- 使断点有条件
exception_caught
顺便说一句,我不记得你是如何在 VS 2010 中创建条件断点的。在 2012 中,你可以像往常一样设置断点(例如,使用 F9)然后右键单击出现的红点,然后condition...
从弹出菜单中选择。在旧版本中,您必须单独打开“断点”窗口(但我记得,它的菜单条目有点难找到)。
于 2013-04-05T15:17:22.703 回答