gdb: GDB/MI Target Manipulation

 
 27.20 GDB/MI Target Manipulation Commands
 =========================================
 
 The '-target-attach' Command
 ----------------------------
 
 Synopsis
 ........
 
       -target-attach PID | GID | FILE
 
    Attach to a process PID or a file FILE outside of GDB, or a thread
 group GID.  If attaching to a thread group, the id previously returned
 by '-list-thread-groups --available' must be used.
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'attach'.
 
 Example
 .......
 
      (gdb)
      -target-attach 34
      =thread-created,id="1"
      *stopped,thread-id="1",frame={addr="0xb7f7e410",func="bar",args=[]}
      ^done
      (gdb)
 
 The '-target-detach' Command
 ----------------------------
 
 Synopsis
 ........
 
       -target-detach [ PID | GID ]
 
    Detach from the remote target which normally resumes its execution.
 If either PID or GID is specified, detaches from either the specified
 process, or specified thread group.  There's no output.
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'detach'.
 
 Example
 .......
 
      (gdb)
      -target-detach
      ^done
      (gdb)
 
 The '-target-disconnect' Command
 --------------------------------
 
 Synopsis
 ........
 
       -target-disconnect
 
    Disconnect from the remote target.  There's no output and the target
 is generally not resumed.
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'disconnect'.
 
 Example
 .......
 
      (gdb)
      -target-disconnect
      ^done
      (gdb)
 
 The '-target-download' Command
 ------------------------------
 
 Synopsis
 ........
 
       -target-download
 
    Loads the executable onto the remote target.  It prints out an update
 message every half second, which includes the fields:
 
 'section'
      The name of the section.
 'section-sent'
      The size of what has been sent so far for that section.
 'section-size'
      The size of the section.
 'total-sent'
      The total size of what was sent so far (the current and the
      previous sections).
 'total-size'
      The size of the overall executable to download.
 
 Each message is sent as status record (SeeGDB/MI Output Syntax
 GDB/MI Output Syntax.).
 
    In addition, it prints the name and size of the sections, as they are
 downloaded.  These messages include the following fields:
 
 'section'
      The name of the section.
 'section-size'
      The size of the section.
 'total-size'
      The size of the overall executable to download.
 
 At the end, a summary is printed.
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'load'.
 
 Example
 .......
 
 Note: each status message appears on a single line.  Here the messages
 have been broken down so that they can fit onto a page.
 
      (gdb)
      -target-download
      +download,{section=".text",section-size="6668",total-size="9880"}
      +download,{section=".text",section-sent="512",section-size="6668",
      total-sent="512",total-size="9880"}
      +download,{section=".text",section-sent="1024",section-size="6668",
      total-sent="1024",total-size="9880"}
      +download,{section=".text",section-sent="1536",section-size="6668",
      total-sent="1536",total-size="9880"}
      +download,{section=".text",section-sent="2048",section-size="6668",
      total-sent="2048",total-size="9880"}
      +download,{section=".text",section-sent="2560",section-size="6668",
      total-sent="2560",total-size="9880"}
      +download,{section=".text",section-sent="3072",section-size="6668",
      total-sent="3072",total-size="9880"}
      +download,{section=".text",section-sent="3584",section-size="6668",
      total-sent="3584",total-size="9880"}
      +download,{section=".text",section-sent="4096",section-size="6668",
      total-sent="4096",total-size="9880"}
      +download,{section=".text",section-sent="4608",section-size="6668",
      total-sent="4608",total-size="9880"}
      +download,{section=".text",section-sent="5120",section-size="6668",
      total-sent="5120",total-size="9880"}
      +download,{section=".text",section-sent="5632",section-size="6668",
      total-sent="5632",total-size="9880"}
      +download,{section=".text",section-sent="6144",section-size="6668",
      total-sent="6144",total-size="9880"}
      +download,{section=".text",section-sent="6656",section-size="6668",
      total-sent="6656",total-size="9880"}
      +download,{section=".init",section-size="28",total-size="9880"}
      +download,{section=".fini",section-size="28",total-size="9880"}
      +download,{section=".data",section-size="3156",total-size="9880"}
      +download,{section=".data",section-sent="512",section-size="3156",
      total-sent="7236",total-size="9880"}
      +download,{section=".data",section-sent="1024",section-size="3156",
      total-sent="7748",total-size="9880"}
      +download,{section=".data",section-sent="1536",section-size="3156",
      total-sent="8260",total-size="9880"}
      +download,{section=".data",section-sent="2048",section-size="3156",
      total-sent="8772",total-size="9880"}
      +download,{section=".data",section-sent="2560",section-size="3156",
      total-sent="9284",total-size="9880"}
      +download,{section=".data",section-sent="3072",section-size="3156",
      total-sent="9796",total-size="9880"}
      ^done,address="0x10004",load-size="9880",transfer-rate="6586",
      write-rate="429"
      (gdb)
 
 GDB Command
 ...........
 
 No equivalent.
 
 Example
 .......
 
 N.A.
 
 The '-target-flash-erase' Command
 ---------------------------------
 
 Synopsis
 ........
 
       -target-flash-erase
 
    Erases all known flash memory regions on the target.
 
    The corresponding GDB command is 'flash-erase'.
 
    The output is a list of flash regions that have been erased, with
 starting addresses and memory region sizes.
 
      (gdb)
      -target-flash-erase
      ^done,erased-regions={address="0x0",size="0x40000"}
      (gdb)
 
 The '-target-select' Command
 ----------------------------
 
 Synopsis
 ........
 
       -target-select TYPE PARAMETERS ...
 
    Connect GDB to the remote target.  This command takes two args:
 
 'TYPE'
      The type of target, for instance 'remote', etc.
 'PARAMETERS'
      Device names, host names and the like.  SeeCommands for Managing
      Targets Target Commands, for more details.
 
    The output is a connection notification, followed by the address at
 which the target program is, in the following form:
 
      ^connected,addr="ADDRESS",func="FUNCTION NAME",
        args=[ARG LIST]
 
 GDB Command
 ...........
 
 The corresponding GDB command is 'target'.
 
 Example
 .......
 
      (gdb)
      -target-select remote /dev/ttya
      ^connected,addr="0xfe00a300",func="??",args=[]
      (gdb)