Can I use gdb to skip a line without having to type line numbers?
I know I can use jump
to set the program counter to a specific line and so I can skip one or more lines (or execute some lines again). Can I easily just skip the next line without having to enter line numbers?
This would be very convenient to "comment out" something at run time.
Solution 1:
jump +1
jumps to the next line line i.e. skipping the current line. You may also want to combine it with tbreak +1
to set a temporary breakpoint at the jump target.
See http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html for more ways of expressing locations with gdb.
Note that without a breakpoint gdb
is likely to continue execution normally instead of jumping. So if jumping doesn't seem to work, make sure you set a breakpoint at the destination.
Solution 2:
I have the following in my .gdbinit
config file:
define skip
tbreak +1
jump +1
end
So just type skip
in gdb to skip a line.
Solution 3:
To Skip Any Numbers of Lines during Execution:
[Current Position -- in GDB] Line N
.......... // Lines To Skip
..........
..........
[Line To Execute - After Jumping] Line M
Put a Breakpoint on Line M:
gdb$b M
Jump To Line M:
gdb$jump M