可以在GDB中命名断点吗?

可以在GDB中命名断点吗?,gdb,Gdb,是否有任何方法可以在GDB中标记/命名断点,以便更容易地识别它们,例如,info b?如果是,怎么做?不,没有办法做到这一点 虽然这对信息b的输出没有帮助,但出于以后需要在命令中引用断点的其他目的,您可以将$bpnum中最后一个断点的断点编号存储在另一个方便变量中,例如: b foo.c:123 set $im_a_breakpoint = $bpnum # ... set some more breakpoints and do some other stuff ... disable $im

是否有任何方法可以在GDB中标记/命名断点,以便更容易地识别它们,例如,
info b
?如果是,怎么做?

不,没有办法做到这一点


虽然这对
信息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修改代码时实际发出代码后在地址上设置断点。为此,我实际上从其自己的
命令中禁用了初始设置断点
块:

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

抱歉,我知道这是一个简短的问题,但没有参考的简短绝对答案没有帮助。更新了一个链接以支持此操作。答案仍然没有改变,那就是它不受支持。找到关于“命令”命令的旧职位的荣誉。没有理由对这个问题的正确答案投反对票。我确实认为这是他们应该支持的,但是,当使用多个断点和文件时,拥有一个行号以外的东西真的很方便,也许应该建议这样做GNU@ChrisWhite:由于你提供了推荐人,我取消了否决票。最初我投了反对票,因为这是一个糟糕的答案,而不是因为我不喜欢这个结论。如果你回答“是的,这是可能的”,但没有描述如何做或提供参考,我也会投反对票。简单的断言在这方面没有帮助。谢谢,这不是一个非常有用的解决方法。我正在寻找一种在
info b
的输出中标记它们的方法,而不仅仅是当它们被击中时。必须有人编写python脚本:-)