函数参数上的 GDB 断点

kar*_*tik 3 gdb

我们可以在一个函数上设置一个 GDB 断点,这样它只有在函数参数与指定的值匹配时才会中断吗?前任

int foo(int i) {
return i*i;
}

int main() {
  foo(0);
  ................
  foo(9);
}
Run Code Online (Sandbox Code Playgroud)

仅当 foo 的参数 i 为 5 时,如何在 foo 上设置断点?

blu*_*112 5

当然,使用“break if”

break foo if i == 5
Run Code Online (Sandbox Code Playgroud)

如果您有多个变量需要中断,只需使用经典if语法:

break foo if i == 5 && j == 3
Run Code Online (Sandbox Code Playgroud)