Jak usunąć pojedynczy punkt przerwania za pomocą GDB?

143

Mogę dodać punkt przerwania w GDB za pomocą:

b <filename>:<line no>

Jak mogę usunąć istniejący punkt przerwania w określonej lokalizacji?

Chris Smith
źródło
czy próbowałeś D <filename>: <lino no>?
Eineki
Niestety nie: generuje błąd: „ostrzeżenie: zły licznik przerwania na poziomie lub w pobliżu '<file>: <no>'”
Chris Smith
1
@Eineki to punkt przerwania nr, a nie linia nr. Lubię: d <filename>:<breakpoint no>.
Kevin

Odpowiedzi:

281

Możesz wyświetlić listę punktów przerwania za pomocą:

info break

Spowoduje to wyświetlenie wszystkich punktów przerwania. Następnie punkt przerwania można usunąć według odpowiedniego numeru:

del 3

Na przykład:

 (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
twid
źródło
3
Można także skrócić info breakdoi b
Nickolai
22

Możesz usunąć wszystkie punkty przerwania za pomocą

del <start_breakpoint_num> - <end_breakpoint_num>

Aby wyświetlić start_breakpoint_num i end_breakpoint_num, użyj:

info break
elita21
źródło
4

Posługiwać się:

clear fileName:lineNum   // Removes all breakpoints at the specified line.
delete breakpoint number // Delete one breakpoint whose number is 'number'
Peter Mortensen
źródło