有没有办法在GDB中标记/命名断点,以便更容易识别它们,例如info b
?如果是这样,怎么样?
答案 0 :(得分:5)
不,没有办法做到这一点。
答案 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