gdb: GDB/MI Thread Commands

 
 27.11 GDB/MI Thread Commands
 ============================
 
 The '-thread-info' Command
 --------------------------
 
 Synopsis
 ........
 
       -thread-info [ THREAD-ID ]
 
    Reports information about either a specific thread, if the THREAD-ID
 parameter is present, or about all threads.  THREAD-ID is the thread's
 global thread ID. When printing information about all threads, also
 reports the global ID of the current thread.
 
 GDB Command
 ...........
 
 The 'info thread' command prints the same information about all threads.
 
 Result
 ......
 
 The result contains the following attributes:
 
 'threads'
      A list of threads.  The format of the elements of the list is
      described in SeeGDB/MI Thread Information.
 
 'current-thread-id'
      The global id of the currently selected thread.  This field is
      omitted if there is no selected thread (for example, when the
      selected inferior is not running, and therefore has no threads) or
      if a THREAD-ID argument was passed to the command.
 
 Example
 .......
 
      -thread-info
      ^done,threads=[
      {id="2",target-id="Thread 0xb7e14b90 (LWP 21257)",
         frame={level="0",addr="0xffffe410",func="__kernel_vsyscall",
                 args=[]},state="running"},
      {id="1",target-id="Thread 0xb7e156b0 (LWP 21254)",
         frame={level="0",addr="0x0804891f",func="foo",
                 args=[{name="i",value="10"}],
                 file="/tmp/a.c",fullname="/tmp/a.c",line="158",arch="i386:x86_64"},
                 state="running"}],
      current-thread-id="1"
      (gdb)
 
 The '-thread-list-ids' Command
 ------------------------------
 
 Synopsis
 ........
 
       -thread-list-ids
 
    Produces a list of the currently known global GDB thread ids.  At the
 end of the list it also prints the total number of such threads.
 
    This command is retained for historical reasons, the '-thread-info'
 command should be used instead.
 
 GDB Command
 ...........
 
 Part of 'info threads' supplies the same information.
 
 Example
 .......
 
      (gdb)
      -thread-list-ids
      ^done,thread-ids={thread-id="3",thread-id="2",thread-id="1"},
      current-thread-id="1",number-of-threads="3"
      (gdb)
 
 The '-thread-select' Command
 ----------------------------
 
 Synopsis
 ........
 
       -thread-select THREAD-ID
 
    Make thread with global thread number THREAD-ID the current thread.
 It prints the number of the new current thread, and the topmost frame
 for that thread.
 
    This command is deprecated in favor of explicitly using the
 '--thread' option to each command.
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'thread'.
 
 Example
 .......
 
      (gdb)
      -exec-next
      ^running
      (gdb)
      *stopped,reason="end-stepping-range",thread-id="2",line="187",
      file="../../../devo/gdb/testsuite/gdb.threads/linux-dp.c"
      (gdb)
      -thread-list-ids
      ^done,
      thread-ids={thread-id="3",thread-id="2",thread-id="1"},
      number-of-threads="3"
      (gdb)
      -thread-select 3
      ^done,new-thread-id="3",
      frame={level="0",func="vprintf",
      args=[{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""},
      {name="arg",value="0x2"}],file="vprintf.c",line="31",arch="i386:x86_64"}
      (gdb)