Debugging with GDB (September 2007)
306 Debugging with GDB
file="recursive2.c",line="14"},
frame={level="4 ",addr="0x000107a4",func="foo",
file="recursive2.c",line="14"},
frame={level="5 ",addr="0x000107a4",func="foo",
file="recursive2.c",line="14"}]
(gdb)
Show a single frame:
(gdb)
-stack-list-frames 3 3
^done,stack=
[frame={level="3 ",addr="0x000107a4",func="foo",
file="recursive2.c",line="14"}]
(gdb)
The -stack-list-locals command
Synopsis
-stack-list-locals print-values
Display the local variable names for the current frame. With an argument of 0 prints
only the names of the variables, with argument of 1 prints also their values.
GDB Command
‘info locals’ in GDB, ‘gdb_get_locals’ in gdbtk.
Example
(gdb)
-stack-list-locals 0
^done,locals=[name="A",name="B",name="C"]
(gdb)
-stack-list-locals 1
^done,locals=[{name="A",value="1"},{name="B",value="2"},
{name="C",value="3"}]
(gdb)
The -stack-select-frame Command
Synopsis
-stack-select-frame framenum
Change the current frame. Select a different frame framenum on the stack.
GDB command
The corresponding GDB commands are ‘frame’, ‘up’, ‘down’, ‘select-frame’,
‘up-silent’, and ‘down-silent’.