gdb使用条件断点时丢失printf输出,why?
gdb版本为7.4.1-debian。如下一段程序:
1 #include <stdio.h>
2
3 int main() {
4 int i;
5 for (i = 0; i < 3; i++) {
6 printf("i=%d\n", i);
7 sleep(1);
8 if (i == 2) i = -1;
9 }
10 return 0;
11 }
编译后,用gdb调试,
当使用命令b 7下断点时,能看到i=0、i=1、i=2这些输出,
而当使用命令b 7 if i=2下断点时,程序倒是正常停住了,但是只有i=0这个输出了,i=1和i=2却看不到了。
为什么没有i=1和i=2了,请大家指点。 在linuxquestions.org的NevemTeve的帮助下,我发现了问题,命令b 7 if i=2改为b 7 if i==2,我参考的手册有问题。
页:
[1]