需要帮助条件gdb调试(C代码)

时间:2010-02-20 09:56:57

标签: c debugging gdb

我的C代码类似于:

int f() {
   for (int i = 0; i < 100; i++) {
   scanf flag;
   if(flag) 
      scanf data1;
   scanf data2;
   }
}

我想仅在flag == 0时才中断执行。我该如何设置断点(使用gdb)?

1 个答案:

答案 0 :(得分:4)

在gdb控制台中输入

b (some_line) if flag == 0

编辑:
如果您在某行停留时无法print flag,则可以: - (A)您的代码是使用优化(可能)或
编译的 - (B)你有一个错误的编译器

如果是(A),请在-O0之外添加-g3

如果您可以 print flag,那么您的错误版本为GDB。尝试升级到当前的7.0.1版本。