[llvm-branch-commits] [lldb] r185482 - Update GDB remote packet documentation to reflect added platform packets.

Greg Clayton gclayton at apple.com
Tue Jul 2 19:03:55 PDT 2013


Author: gclayton
Date: Tue Jul  2 17:44:57 2013
New Revision: 185482

URL: http://llvm.org/viewvc/llvm-project?rev=185482&view=rev
Log:
Update GDB remote packet documentation to reflect added platform packets.


Modified:
    lldb/branches/lldb-platform-work/docs/lldb-gdb-remote.txt

Modified: lldb/branches/lldb-platform-work/docs/lldb-gdb-remote.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/docs/lldb-gdb-remote.txt?rev=185482&r1=185481&r2=185482&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/docs/lldb-gdb-remote.txt (original)
+++ lldb/branches/lldb-platform-work/docs/lldb-gdb-remote.txt Tue Jul  2 17:44:57 2013
@@ -848,3 +848,123 @@ for this region.
 //  your debug session more reliable and informative.
 //----------------------------------------------------------------------
  
+
+//----------------------------------------------------------------------
+// PLATFORM EXTENSION - for use as a GDB remote platform
+//----------------------------------------------------------------------
+// "qfProcessInfo"
+// "qsProcessInfo"
+//
+// BRIEF
+//  Get the first process info (qfProcessInfo) or subsequent processs
+//  info (qsProcessInfo) for one or more processes on the remote 
+//  platform. The first call gets the first match and subsequent calls
+//  to qsProcessInfo gets the subsequent matches. Return an error EXX,
+//  where XX are two hex digits, when no more matches are available.
+//
+// PRIORITY TO IMPLEMENT
+//  Required. The qfProcessInfo packet can be followed by a ':' and
+//  some key value pairs. The key value pairs in the command are:
+//
+//  KEY           VALUE     DESCRIPTION
+//  ===========   ========  ================================================
+//  "name"        ascii-hex An ASCII hex string that contains the name of 
+//                          the process that will be matched.
+//  "name_match"  enum      One of: "equals", "starts_with", "ends_with", 
+//                          "contains" or "regex"
+//  "pid"         integer   A string value containing the decimal process ID
+//  "parent_pid"  integer   A string value containing the decimal parent 
+//                          process ID
+//  "uid"         integer   A string value containing the decimal user ID
+//  "gid"         integer   A string value containing the decimal group ID
+//  "euid"        integer   A string value containing the decimal effective user ID
+//  "egid"        integer   A string value containing the decimal effective group ID
+//  "all_users"   bool      A boolean value that specifies if processes should
+//                          be listed for all users, not just the user that the 
+//                          platform is running as
+//  "triple"      ascii-hex An ASCII hex target triple string ("x86_64", 
+//                          "x86_64-apple-macosx", "armv7-apple-ios")
+//
+// The response consists of key/value pairs where the key is separated from the
+// values with colons and each pair is terminated with a semi colon. For a list
+// of the key/value pairs in the response see the "qProcessInfoPID" packet
+// documentation.
+//
+// Sample packet/response:
+// send packet: $qfProcessInfo#00
+// read packet: $pid:60001;ppid:59948;uid:7746;gid:11;euid:7746;egid:11;name:6c6c6462;triple:7838365f36342d6170706c652d6d61636f7378;#00
+// send packet: $qsProcessInfo#00
+// read packet: $pid:59992;ppid:192;uid:7746;gid:11;euid:7746;egid:11;name:6d64776f726b6572;triple:7838365f36342d6170706c652d6d61636f7378;#00
+// send packet: $qsProcessInfo#00
+// read packet: $E04#00
+//----------------------------------------------------------------------
+
+
+//----------------------------------------------------------------------
+// PLATFORM EXTENSION - for use as a GDB remote platform
+//----------------------------------------------------------------------
+// "qLaunchGDBServer"
+//
+// BRIEF
+//  Have the remote platform launch a GDB server.
+//
+// PRIORITY TO IMPLEMENT
+//  Required. The qLaunchGDBServer packet must be followed by a ':' and
+//  some key value pairs. The key value pairs in the command are:
+//
+//  KEY           VALUE     DESCRIPTION
+//  ===========   ========  ================================================
+//  "port"        integer   A string value containing the decimal port ID or
+//                          zero if the port should be bound and returned
+//
+//  "host"        integer   The host that connections should be limited to
+//                          when the GDB server is connected to.
+//
+// The response consists of key/value pairs where the key is separated from the
+// values with colons and each pair is terminated with a semi colon.
+//
+// Sample packet/response:
+// send packet: $qLaunchGDBServer:port:0;host:lldb.apple.com;#00
+// read packet: $pid:60025;port:50776;#00
+//
+// The "pid" key/value pair is only specified if the remote platform launched
+// a separate process for the GDB remote server and can be omitted if no
+// process was separately launched.
+//
+// The "port" key/value pair in the response lets clients know what port number
+// to attach to in case zero was specified as the "port" in the sent command.
+//----------------------------------------------------------------------
+
+
+//----------------------------------------------------------------------
+// PLATFORM EXTENSION - for use as a GDB remote platform
+//----------------------------------------------------------------------
+// "qProcessInfoPID:PID"
+//
+// BRIEF
+//  Have the remote platform get detailed information on a process by
+//  ID. PID is specified as a decimal integer.
+//
+// PRIORITY TO IMPLEMENT
+//  Optional. 
+//
+// The response consists of key/value pairs where the key is separated from the
+// values with colons and each pair is terminated with a semi colon.
+//
+// The key value pairs in the response are:
+//
+//  KEY           VALUE     DESCRIPTION
+//  ===========   ========  ================================================
+//  "pid"         integer   Process ID as a decimal integer string
+//  "ppid"        integer   Parent process ID as a decimal integer string
+//  "uid"         integer   A string value containing the decimal user ID
+//  "gid"         integer   A string value containing the decimal group ID
+//  "euid"        integer   A string value containing the decimal effective user ID
+//  "egid"        integer   A string value containing the decimal effective group ID
+//  "name"        ascii-hex An ASCII hex string that contains the name of the process
+//  "triple"      ascii-hex A target triple ("x86_64-apple-macosx", "armv7-apple-ios")
+//
+// Sample packet/response:
+// send packet: $qProcessInfoPID:60050#00
+// read packet: $pid:60050;ppid:59948;uid:7746;gid:11;euid:7746;egid:11;name:6c6c6462;triple:7838365f36342d6170706c652d6d61636f7378;#00
+//----------------------------------------------------------------------





More information about the llvm-branch-commits mailing list