最近,我编写了一个无法正常工作的函数。我设法找出问题所在并以环岛的方式进行修复,但我想知道是否有更简单的方法。该函数(向下分解)是这样的:
int func(int param)
{
if(param == 0) return SOMETHING;
//...
for(int i = 0;i < 4;i++) {
// Point A
func(param - 1);
}
//...
}
我想在A点设置一个断点,以便可以看到参数= 10(例如)和i = 0、1、2、3发生了什么,但是问题是,该函数是递归的,因此它用( case)param = 9,8,...我想知道是否有一种方法可以仅针对特定情况设置断点。在这种情况下,我使用了MS Visual C ++ Express 2008,但是如果有一种方法可以与另一个编译器(也许是g ++ / gdb)一起使用,那也会很有帮助。
最佳答案
在Visual Studio中,您可以右键单击断点并以各种方式对其进行修改。
在Condition...
下,您可以指定条件,例如param == 10
。您甚至可以使用简单的C库函数进行字符串比较strcmp(mystr,"hi") == 0
!
关于c++ - 特殊情况下的断点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5526649/