Debugging with GDB Manual HP WDB v6.3 (5900-2180, August 2012)

Listing breakpoints and watchpoints, at different points in the program execution. Note that once
the watchpoint goes out of scope, it is deleted.
-break-watch j
^done,wpt=number="2",exp="j"
(gdb)
-break-list
^done,BreakpointTable=nr_rows="2",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",alinment="-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="0x00029b4",func="call",
file="hello.c",line="9",times="1",bkpt=number="2",type="wathpoint",disp="keep",
enabled="y",addr="",what="j",times="0"]
(gdb)
-exec-continue
^running
(gdb)
*stopped,reason="watchpoint-trigger",wpt=number="2",exp="j",value=old="0",ne="17",
thread-id="1",frame=addr="0x000029bc",func="call",args=[],file="hello.c,line="10"
(gdb)
-break-list
^done,BreakpointTable=nr_rows="2",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",alinment="-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="0x00029b4",func="call",file="hello.c",
line="9",times="1",bkpt=number="2",type="wathpoint",disp="keep",enabled="y",addr="",
what="j",times="1"]
(gdb)
-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 describes the GDB/MI commands that manipulate data: examine memory and registers,
evaluate expressions, and so on.
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 number of disassembly lines to be produced. If it is -1, the whole function
will be disassembled, in case no end-addr is specified. If end-addr is
21.6 GDB/MI Data manipulation 253