假设我创建了两个断点,分别是2和3。断点3位于第10行,该行代码在程序中经常被执行。如何配置断点3,在断点2被命中一次后才会触发?
假设我创建了两个断点,分别是2和3。断点3位于第10行,该行代码在程序中经常被执行。如何配置断点3,在断点2被命中一次后才会触发?
举一个简单的例子:
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
我想补充一下,在另一个断点的command
中也可以创建一个新的断点。
b main.c:12
command 1
b main.c:10
disable 1
end
然而,我建议通常使用@matt的方法,因为它更清晰,留下的混淆空间较少。