[PATCH] Doco for GDB/MI

Nick Roberts
2006-02-09T21:52:54Z

This patch reflects recent changes in MI output due to fullname being added to
print_one_breakpoint (-break-insert and -break-info use this command too.),
adds the times field where needed, corrects a couple of typos, updates the
general form given for output of -break-insert (very out of date) and
abbreviates some unnecessarily long fullnames.

OK to commit?

Nick

2006-02-10 Nick Roberts <nickrob@snap.net.nz>

* gdb.texinfo (GDB/MI Breakpoint Table Commands): Add fullname and
times fields where needed. Fix typos. Update general form given
for output of -break-insert.
(GDB/MI): Abbreviate some unnecessarily long fullnames.

Nick

*** gdb.texinfo 08 Feb 2006 17:49:00 +1300 1.312
--- gdb.texinfo 10 Feb 2006 10:45:39 +1300
***************
*** 17577,17583 ****
@smallexample
(@value{GDBP})
-break-insert main
! ^done,bkpt=@{number="1",addr="0x000100d0",file="hello.c",line="5"@}
(@value{GDBP})
-break-after 1 3
~
--- 17577,17583 ----
@smallexample
(@value{GDBP})
-break-insert main
! ^done,bkpt=@{number="1",addr="0x000100d0",file="hello.c",fullname="/home/foo/hello.c",line="5",times="0"@}
(@value{GDBP})
-break-after 1 3
~
***************
*** 17592,17599 ****
@{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="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c"line="5",times="0",
! ignore="3"@}]@}
(@value{GDBP})
@end smallexample

--- 17592,17598 ----
@{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="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",line="5",times="0",ignore="3"@}]@}
(@value{GDBP})
@end smallexample

***************
*** 17798,17804 ****

@table @samp
@item -t
! Insert a tempoary breakpoint.
@item -h
Insert a hardware breakpoint.
@item -c @var{condition}
--- 17797,17803 ----

@table @samp
@item -t
! Insert a temporary breakpoint.
@item -h
Insert a hardware breakpoint.
@item -c @var{condition}
***************
*** 17816,17830 ****
The result is in the form:

@smallexample
! ^done,bkptno="@var{number}",func="@var{funcname}",
! file="@var{filename}",line="@var{lineno}"
@end smallexample

@noindent
! where @var{number} is the @value{GDBN} number for this breakpoint, @var{funcname}
! is the name of the function where the breakpoint was inserted,
! @var{filename} is the name of the source file which contains this
! function, and @var{lineno} is the source line number within that file.

Note: this format is open to change.
@c An out-of-band breakpoint instead of part of the result?
--- 17815,17833 ----
The result is in the form:

@smallexample
! ^done,bkpt=@{number="@var{number}",type="@var{type}",disp="del"|"keep",
! enabled="y"|"n",addr="@var{hex}",func="@var{funcname}",file="@var{filename}",
! fullname="@var{full filename}",line="@var{lineno}",times="@var{times}"@}
@end smallexample

@noindent
! where @var{number} is the @value{GDBN} number for this breakpoint,
! @var{funcname} is the name of the function where the breakpoint was
! inserted, @var{filename} is the name of the source file which contains
! this function, @var{lineno} is the source line number within that file
! and @var{times} the number of times that the breakpoint has been hit
! (always 0 for -break-insert but may be greater for -break-info or -break-list
! which use the same output).

Note: this format is open to change.
@c An out-of-band breakpoint instead of part of the result?
***************
*** 17839,17848 ****
@smallexample
(@value{GDBP})
-break-insert main
! ^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",line="4"@}
(@value{GDBP})
-break-insert -t foo
! ^done,bkpt=@{number="2",addr="0x00010774",file="recursive2.c",line="11"@}
(@value{GDBP})
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
--- 17842,17851 ----
@smallexample
(@value{GDBP})
-break-insert main
! ^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",fullname="/home/foo/recursive2.c,line="4",times="0"@}
(@value{GDBP})
-break-insert -t foo
! ^done,bkpt=@{number="2",addr="0x00010774",file="recursive2.c",fullname="/home/foo/recursive2.c,line="11",times="0"@}
(@value{GDBP})
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
***************
*** 17859,17865 ****
(@value{GDBP})
-break-insert -r foo.*
~int foo(int, int);
! ^done,bkpt=@{number="3",addr="0x00010774",file="recursive2.c",line="11"@}
(@value{GDBP})
@end smallexample

--- 17862,17868 ----
(@value{GDBP})
-break-insert -r foo.*
~int foo(int, int);
! ^done,bkpt=@{number="3",addr="0x00010774",file="recursive2.c"fullname="/home/foo/recursive2.c",line="11",times="0"@}
(@value{GDBP})
@end smallexample

***************
*** 17975,17981 ****
^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
value=@{old="-268439212",new="55"@},
frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="5"@}
(@value{GDBP})
@end smallexample

--- 17978,17984 ----
^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
value=@{old="-268439212",new="55"@},
frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/recursive2.c",line="5"@}
(@value{GDBP})
@end smallexample

***************
*** 18292,18298 ****

(@value{GDBP})
*stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
! args=[],file="try.c",fullname="/home/foo/bar/devo/myproject/try.c",line="5"@}
(@value{GDBP})
-data-list-changed-registers
^done,changed-registers=["0","1","2","4","5","6","7","8","9",
--- 18295,18301 ----

(@value{GDBP})
*stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
! args=[],file="try.c",fullname="/home/foo/bar/try.c",line="5"@}
(@value{GDBP})
-data-list-changed-registers
^done,changed-registers=["0","1","2","4","5","6","7","8","9",
***************
*** 18899,18905 ****
(@value{GDBP})
@@Hello world
*stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
! file="hello.c",fullname="/home/foo/bar/devo/myproject/hello.c",line="13"@}
(@value{GDBP})
@end smallexample

--- 18902,18908 ----
(@value{GDBP})
@@Hello world
*stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
! file="hello.c",fullname="/home/foo/bar/hello.c",line="13"@}
(@value{GDBP})
@end smallexample

***************
*** 18931,18937 ****
(@value{GDBP})
@@hello from foo
*stopped,reason="function-finished",frame=@{func="main",args=[],
! file="hello.c",fullname="/home/foo/bar/devo/myproject/hello.c",line="7"@}
(@value{GDBP})
@end smallexample

--- 18934,18940 ----
(@value{GDBP})
@@hello from foo
*stopped,reason="function-finished",frame=@{func="main",args=[],
! file="hello.c",fullname="/home/foo/bar/hello.c",line="7"@}
(@value{GDBP})
@end smallexample

***************
*** 18945,18951 ****
(@value{GDBP})
*stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
args=[@{name="a",value="1"],@{name="b",value="9"@}@},
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
gdb-result-var="$1",return-value="0"
(@value{GDBP})
@end smallexample
--- 18948,18954 ----
(@value{GDBP})
*stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
args=[@{name="a",value="1"],@{name="b",value="9"@}@},
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
gdb-result-var="$1",return-value="0"
(@value{GDBP})
@end smallexample
***************
*** 18983,18989 ****
(@value{GDBP})
111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
frame=@{addr="0x00010140",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="13"@}
(@value{GDBP})

(@value{GDBP})
--- 18986,18992 ----
(@value{GDBP})
111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
frame=@{addr="0x00010140",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/try.c",line="13"@}
(@value{GDBP})

(@value{GDBP})
***************
*** 19126,19132 ****
(@value{GDBP})
*stopped,reason="breakpoint-hit",bkptno="1",
frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="4"@}
(@value{GDBP})
@end smallexample

--- 19129,19135 ----
(@value{GDBP})
*stopped,reason="breakpoint-hit",bkptno="1",
frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/recursive2.c",line="4"@}
(@value{GDBP})
@end smallexample

***************
*** 19180,19186 ****
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[@{name="a",value="10"@},
@{name="b",value="0"@}],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="11"@}
(@value{GDBP})
@end smallexample

--- 19183,19189 ----
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[@{name="a",value="10"@},
@{name="b",value="0"@}],file="recursive2.c",
! fullname="/home/foo/bar/recursive2.c",line="11"@}
(@value{GDBP})
@end smallexample

***************
*** 19224,19230 ****
(@value{GDBP})
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="10"@}
(@value{GDBP})
-exec-step-instruction
^running
--- 19227,19233 ----
(@value{GDBP})
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/try.c",line="10"@}
(@value{GDBP})
-exec-step-instruction
^running
***************
*** 19232,19238 ****
(@value{GDBP})
*stopped,reason="end-stepping-range",
frame=@{addr="0x000100f4",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="10"@}
(@value{GDBP})
@end smallexample

--- 19235,19241 ----
(@value{GDBP})
*stopped,reason="end-stepping-range",
frame=@{addr="0x000100f4",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/try.c",line="10"@}
(@value{GDBP})
@end smallexample

***************
*** 19264,19270 ****
(@value{GDBP})
x = 55
*stopped,reason="location-reached",frame=@{func="main",args=[],
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="6"@}
(@value{GDBP})
@end smallexample

--- 19267,19273 ----
(@value{GDBP})
x = 55
*stopped,reason="location-reached",frame=@{func="main",args=[],
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="6"@}
(@value{GDBP})
@end smallexample

***************
*** 19918,19946 ****
-stack-list-frames
^done,stack=
[frame=@{level="0",addr="0x0001076c",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="11"@},
frame=@{level="1",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="2",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="4",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="5",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="6",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="7",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="8",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="9",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="10",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="11",addr="0x00010738",func="main",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="4"@}]
(@value{GDBP})
@end smallexample

--- 19921,19949 ----
-stack-list-frames
^done,stack=
[frame=@{level="0",addr="0x0001076c",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="11"@},
frame=@{level="1",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="2",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="4",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="5",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="6",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="7",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="8",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="9",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="10",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="11",addr="0x00010738",func="main",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="4"@}]
(@value{GDBP})
@end smallexample

***************
*** 19951,19961 ****
-stack-list-frames 3 5
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="4",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
frame=@{level="5",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@}]
(@value{GDBP})
@end smallexample

--- 19954,19964 ----
-stack-list-frames 3 5
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="4",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="5",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@}]
(@value{GDBP})
@end smallexample

***************
*** 19966,19972 ****
-stack-list-frames 3 3
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@}]
(@value{GDBP})
@end smallexample

--- 19969,19975 ----
-stack-list-frames 3 3
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
! file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@}]
(@value{GDBP})
@end smallexample