Debugging with GDB (September 2007)
Chapter 21: The gd b/mi Interface 317
Synopsis
-thread-select threadnum
Make threadnum the current thread. It prints the number of the new current thread,
and the topmost frame for that thread.
GDB command
The corresponding GDB command is ‘thread’.
Example
(gdb)
-exec-next
^running
(gdb)
~"0x7f7f0aec"
*stopped,reason="end-stepping-range",thread-id="2",frame=addr="0x00002ca4",func
="printme",args=[name="ip"],file="multithread.c",line="9"
(gdb)
-thread-list-ids
^done,thread-ids=thread-id="2",thread-id="1",number-of-threads="2"
(gdb)
-thread-select 1
^done,new-thread-id="1",frame=level="0 ",addr="0x7ad47d70",func="_lwp_create","
+0x10",args=[],from="/usr/lib/libpthread.1"
(gdb)
21.13 gdb/mi tracepoint commands
The tracepoint commands are not yet implemented.
21.14 gdb/mi variable objects
Motivation for variable objects in gdb/mi
For the implementation of a variable debugger window (locals, watched expressions,
etc.), we are proposing the adaptation of the existing co de used by Insight.
The two main reasons for that are:
1. It has been proven in practice (it is already on its second generation).
2. It will shorten development time (needless to say how important it is now).
The original interface was designed to be used by Tcl code, so it was slightly changed so
it could be used through gdb/mi. This section describes the gdb/mi operations that will
be available and gives some hints ab out their use.
Note: In addition to the set of operations described here, we expect the gui implemen-
tation of a variable window to require, at least, the following operations: