GDB:仅在遇到不同断点后才会中断的断点

时间:2016-05-02 06:54:54

标签: gdb

假设我创建了两个断点,2和3.断点3在第10行,它通过程序频繁执行。如果只有在击中2次之后才能配置3才能中断?

2 个答案:

答案 0 :(得分:5)

用一个简单的例子:

void bp2() { };
void bp1() { bp2(); }

int main()
{
  bp2();
  bp1();
  return 0;
}

我们可以创建一个断点,只有在通过bp1调用bp2时才触发断点,如下所示:

break bp1
break bp2

commands 1
silent
enable 2
c
end

commands 2
disable 2
end

disable 2

答案 1 :(得分:0)

我想补充一点,您还可以在另一个断点的update_values中创建一个新断点。

command

但是,我建议一般使用@matt's方法,因为它更清洁并且混乱的空间较小。