beautypg.com

6 gdb/mi data manipulation – HP gnu source-level debugger 5992-4701 User Manual

Page 320

background image

^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 specified as a non-zero value, and lines
is lower than the number of disassembly lines between
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 disassembly).

Result

The output for each instruction is composed of four fields:

Address

Func-name

Offset

Instruction

Note that whatever included in the instruction field, is not manipulated directly by
GDB/MI

, that is it is not possible to adjust its format.

320

The GDB/MI Interface