是否可以在GDB中命名一个断点?

时间:2013-03-23 02:00:43

标签: gdb

有没有办法在GDB中标记/命名断点,以便更容易识别它们,例如info b?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:5)

不,没有办法做到这一点。

http://users.ece.utexas.edu/~adnan/gdb-refcard.pdf

答案 1 :(得分:1)

虽然这对info b的输出没有帮助,但出于其他目的,您以后需要在命令中引用断点时,可以将$bpnum中最后一个断点的断点号存储在另一个便利变量,例如:

b foo.c:123
set $im_a_breakpoint = $bpnum
# ... set some more breakpoints and do some other stuff ...
disable $im_a_breakpoint

再举一个例子,我现在正在为任务使用这种模式:我在JIT发出的代码中使用普通的gdb断点,这需要在代码实际发出后在地址上设置断点,例如: gdb修改代码。为此,我实际上从其自己的commands块中禁用了初始设置断点:

set $cur_stop_point = 0x41aaa
b basic_jit_cache::copy_block if ((uint32_t)this->code_ptr()) > ($gencode + $cur_stop_point)
set $cur_stop_point_setup_bp = $bpnum
commands
  b *($gencode + $cur_stop_point)
  disable $cur_stop_point_setup_bp
  cont
end