我在某个file:line上设置了一个断点,并且由于存在多个此类文件,这导致GDB创建了多个断点。
(gdb) b drv.c:2145
Breakpoint 1 at 0xa8b8172: drv.c:2145. (3 locations)
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x0a8b8172 in soc_property_ci_get_str at /lspace/seb/broadcom/src/soc/common/drv.c:2145
1.2 y 0x0a8b81d8 in soc_property_ci_get_str at /lspace/seb/broadcom/src/soc/common/drv.c:2145
1.3 y 0x0aaa364d in soc_dpp_info_config_common_tm at /lspace/seb/broadcom/src/soc/dpp/drv.c:2145
是否可以从多个断点列表中删除断点? 尝试使用索引删除断点时,它会失败并显示错误。
(gdb) d 1.1
warning: bad breakpoint number at or near '1.1'
答案 0 :(得分:2)
是否可以从多个断点列表中删除断点?
否,但是您可以使用disable
命令在具有多个位置的断点中禁用单个断点位置:
(gdb) disable 1.1
请参见documentation:
您不能从断点删除各个位置。然而, 每个位置都可以通过以下方式分别启用或禁用 breakpoint-number.location-number作为enable和 禁用命令。也可以启用和禁用一系列 location-number使用断点数和两个的位置 位置编号,以递增顺序,用连字符分隔,例如 breakpoint-number.location-number1-location-number2,在这种情况下为GDB 作用于范围内(包括该范围内)的所有位置。禁用或 启用父断点(请参见禁用)会影响所有 属于该断点的位置。