如何使用GDB删除单个断点?

我可以在GDB中添加一个断点:

b <filename>:<line no>

如何删除特定位置的现有断点?

212438 次浏览

Try these (reference):

clear linenum
clear filename:linenum

You can list breakpoints with:

info break

This will list all breakpoints. Then a breakpoint can be deleted by its corresponding number:

del 3

For example:

 (gdb) info b
Num     Type           Disp Enb Address    What
3      breakpoint     keep y   0x004018c3 in timeCorrect at my3.c:215
4      breakpoint     keep y   0x004295b0 in avi_write_packet atlibavformat/avienc.c:513
(gdb) del 3
(gdb) info b
Num     Type           Disp Enb Address    What
4      breakpoint     keep y   0x004295b0 in avi_write_packet atlibavformat/avienc.c:513

You can delete all breakpoints using

del <start_breakpoint_num> - <end_breakpoint_num>

To view the start_breakpoint_num and end_breakpoint_num use:

info break

Use:

clear fileName:lineNum   // Removes all breakpoints at the specified line.
delete breakpoint number // Delete one breakpoint whose number is 'number'