forked from OSchip/llvm-project
Document the QEnvironmentHexEncoded packet, and explain why it is
often preferable to use this instead of QEnvironment. llvm-svn: 192400
This commit is contained in:
parent
8bcf182b9d
commit
e65c0feb76
|
@ -78,6 +78,14 @@ debugging.
|
||||||
// Setup the environment up for a new child process that will soon be
|
// Setup the environment up for a new child process that will soon be
|
||||||
// launched using the "A" packet.
|
// launched using the "A" packet.
|
||||||
//
|
//
|
||||||
|
// NB: key/value pairs are sent as-is so gdb-remote protocol meta characters
|
||||||
|
// (e.g. '#' or '$') are not acceptable. If any non-printable or
|
||||||
|
// metacharacters are present in the strings, QEnvironmentHexEncoded
|
||||||
|
// should be used instead if it is available. If you don't want to
|
||||||
|
// scan the environment strings before sending, prefer
|
||||||
|
// the QEnvironmentHexEncoded packet over QEnvironment, if it is
|
||||||
|
// available.
|
||||||
|
//
|
||||||
// PRIORITY TO IMPLEMENT
|
// PRIORITY TO IMPLEMENT
|
||||||
// Low. Only needed if the remote target wants to launch a target after
|
// Low. Only needed if the remote target wants to launch a target after
|
||||||
// making a connection to a GDB server that isn't already connected to
|
// making a connection to a GDB server that isn't already connected to
|
||||||
|
@ -92,6 +100,31 @@ read packet: $OK#00
|
||||||
|
|
||||||
This packet can be sent one or more times _prior_ to sending a "A" packet.
|
This packet can be sent one or more times _prior_ to sending a "A" packet.
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// "QEnvironmentHexEncoded:HEX-ENCODING(NAME=VALUE)"
|
||||||
|
//
|
||||||
|
// BRIEF
|
||||||
|
// Setup the environment up for a new child process that will soon be
|
||||||
|
// launched using the "A" packet.
|
||||||
|
//
|
||||||
|
// The only difference between this packet and QEnvironment is that the
|
||||||
|
// environment key-value pair is ascii hex encoded for transmission.
|
||||||
|
// This allows values with gdb-remote metacharacters like '#' to be sent.
|
||||||
|
//
|
||||||
|
// PRIORITY TO IMPLEMENT
|
||||||
|
// Low. Only needed if the remote target wants to launch a target after
|
||||||
|
// making a connection to a GDB server that isn't already connected to
|
||||||
|
// an inferior process.
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Both GDB and LLDB support passing down environment variables. Is it ok to
|
||||||
|
respond with a "$#00" (unimplemented):
|
||||||
|
|
||||||
|
send packet: $QEnvironment:41434b5f434f4c4f525f46494c454e414d453d626f6c642379656c6c6f77#00
|
||||||
|
read packet: $OK#00
|
||||||
|
|
||||||
|
This packet can be sent one or more times _prior_ to sending a "A" packet.
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// "QSetSTDIN:<ascii-hex-path>"
|
// "QSetSTDIN:<ascii-hex-path>"
|
||||||
// "QSetSTDOUT:<ascii-hex-path>"
|
// "QSetSTDOUT:<ascii-hex-path>"
|
||||||
|
|
Loading…
Reference in New Issue