Debugging with GDB (September 2007)

Chapter 21: The gd b/mi Interface 279
-exec-continue
^running
(gdb)
*stopped,reason="watchpoint-scope",wpnum="2",thread-id="1",frame=addr="0x000029ec",
func="main",args=[],file="hello.c",line="18"
(gdb)
-break-list
^done,BreakpointTable=nr_rows="1",nr_cols="6",hdr=[width="3",alignment="-1",
col_name="number",colhdr="Num",width="14",alignment="-1",col_name="type",colhdr="Type",
width="4",alignment="-1",col_name="disp",colhdr="Disp",width="3",alignment="-1",
col_name="enabled",colhdr="Enb",width="10",alignment="-1",col_name="addr",
colhdr="Address",width="40",alignment="2",col_name="what",colhdr="What"],
body=[bkpt=number="1",type="breakpoint",disp="keep",enabled="y",addr="0x000029b4",
func="call",file="hello.c",line="9",times="1"]
(gdb)
21.6 gdb/mi Data manipulation
This section describ es the gdb/mi commands that manipulate data: examine memory
and registers, evaluate expressions, etc.
The -data-disassemble command
Synopsis
-data-disassemble
[ -s start-addr -e end-addr ]
| [ -f filename -l linenum [ -n lines ] ]
-- mode
Where:
start-addr
is the beginning address (or $pc)
end-addr
is the end address
filename
is the name of the file to disassemble
linenum is the line number to disassemble around
lines is the the number of disassembly lines to be produced. If it is -1, the whole
function will be disassembled, in case no end-addr is spec ified. If end-addr is
specified as a non-zero value, and lines is lower than the number of disassembly
lines b etween start-addr and end-addr, only lines lines are displayed; if lines
is higher than the number of lines between start-addr and end-addr, only the
lines up to end-addr are displayed.
mode is either 0 (meaning only disassembly) or 1 (meaning mixed source and disas-
sembly).