目前我必须在catch子句中设置断点。我想知道是否有一种方法,一旦在catch子句中,编译器会自动突出显示某个语句。现在我必须在我的异常处理程序中设置一个断点,以便我的编译器让我知道它已进入异常处理程序。我正在使用VS2010
答案 0 :(得分:2)
您可以将__debugbreak();
(来自<intrin.h>
)放在catch
子句中,只要到达__debugbreak();
,IDE就会停止。
答案 1 :(得分:1)
我不知道这样的功能。
但是,如果转到菜单中的Debug > Exceptions
,则可以切换调试器在抛出时会中断的异常类型。我知道这与他们被抓住时的情况不一样,但你应该能够从那里通过一些“步入/结束”步骤达到catch
声明。
答案 2 :(得分:0)
您可以添加ASSERT(FALSE)
,这将导致调试器在该行上停止以进行调试构建。
答案 3 :(得分:0)
为了清楚起见:至少在我了解情况时,您需要在特定行上使用断点,但是当/如果执行特定的catch子句时,只需要 。如果这就是你想要的东西,那么有办法做某些事情,但是(据我所知)你可能需要稍微修改你的代码才能使它工作。
我至少会这样做:
bool exception_caught;
exception_caught = true;
exception_caught
副手,我不记得你是如何在VS 2010中创建条件断点的。在2012年,你可以像往常一样设置断点(例如,使用F9)然后右键单击显示的红点向上,然后从弹出菜单中选择condition...
。在旧版本中,您必须单独调出“断点”窗口(但我记得,它的菜单条目有点难以找到)。