BsiIce 发表于 2013-12-07 09:21

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了,请大家指点。

BsiIce 发表于 2013-12-08 18:55

在linuxquestions.org的NevemTeve的帮助下,我发现了问题,命令b 7 if i=2改为b 7 if i==2,我参考的手册有问题。
页: [1]
查看完整版本: gdb使用条件断点时丢失printf输出,why?