之后按CTRL+Bd出设置对话框,在对话框中最下面的BreakPoints列表中应该有一个你刚才设置的断点记录,点击该记录。【Condition】按钮变成可用状态,
点击该按钮,d出BreakPoint Condition对话框,在编辑控件中填写你的条件,
例如你的第三次i==3,之后点击【OK】按钮完成设置,之后F5调试。
设置断点:可以通过下述方法设置一个断点。首先把光标移动到需要设置断点的代码行上,然后按F9快捷键d出Breakpoints对话框,方法是按快捷键CTRL+B或ALT+F9,或者通过菜单Edit/Breakpoints打开。打开后点击Break at编辑框的右侧的箭头,选择 合适的位置信息。一般情况下,直接选择line xxx就足够了,如果想设置不是当前位置的断点,可以选择Advanced,然后填写函数、行号和可执行文件信息。去掉断点:把光标移动到给定断点所在的行,再次按F9就可以取消断点。同前面所述,打开Breakpoints对话框后,也可以按照界面提示去掉断点。
条件断点:可以为断点设置一个条件,这样的断点称为条件断点。对于新加的断点,可以单击Conditions按钮,为断点设置一个表达式。当这个表达式发生改变时,程序就 被中断。底下设置包括“观察数组或者结构的元素个数”,似乎可以设置一个指针所指向的内存区的大小,但是我设置一个比较的值但是改动 范围之外的内存区似乎也导致断点起效。最后一个设置可以让程序先执行多少次然后才到达断点。
设置条件断点一定要先设置断点的位置,不是说条件断点就不需要再程序中设置停止行。
在vc当中如何进行条件断点调试,比如希望停止在for循环的第25次
if (i == 24)
{
i= i//这一句废,为的是断点能加在这儿
}
加调试代码condition中i==24
想要设定条件为一个字符串指针等于某个字串时,比较麻烦可以用类型转换来实现,比如设置char型指针str在等于"2002"时停止,那么我们就在条件里设置 *(DWORD*)(str) == 0x32303032 就好了。如果有其他条件在用||和&&就好了。比如要求紧接着2002的还必须是1111,那么我们在刚才的条件后面加上 &&*(DWORD*)(str + 4) == 0x31313131。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)