diff options
author | Greg Clayton <gclayton@apple.com> | 2012-10-19 22:22:57 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-10-19 22:22:57 +0000 |
commit | 1d19a2f25313d7f46bf725b1c8c29a586b490901 (patch) | |
tree | c38c953a9b6f764587eb7e411f86352ac6a35220 /lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h | |
parent | 38860baad039595fc33e3036cc934c8f8fe8bdb3 (diff) | |
download | bcm5719-llvm-1d19a2f25313d7f46bf725b1c8c29a586b490901.tar.gz bcm5719-llvm-1d19a2f25313d7f46bf725b1c8c29a586b490901.zip |
<rdar://problem/12491387>
Added commands to the KDP plug-in that allow sending raw commands through the KDP protocol. You specify a command byte and a payload as ASCII hex bytes, and the packet is created with a valid header/sequenceID/length and sent. The command responds with a raw ASCII hex string that contains all bytes in the reply including the header.
An example of sending a read register packet for the GPR on x86_64:
(lldb) process plugin packet send --command 0x07 --payload 0100000004000000
llvm-svn: 166346
Diffstat (limited to 'lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h')
-rw-r--r-- | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h index 5fb1027d116..9b24b4f5e78 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h @@ -70,8 +70,8 @@ public: CanDebug (lldb_private::Target &target, bool plugin_specified_by_name); - // virtual uint32_t - // ListProcessesMatchingName (const char *name, lldb_private::StringList &matches, std::vector<lldb::pid_t> &pids); + virtual lldb_private::CommandObject * + GetPluginCommandObject(); //------------------------------------------------------------------ // Creating a new process, or attaching to an existing one @@ -260,6 +260,8 @@ protected: bool m_destroy_in_process; std::string m_dyld_plugin_name; lldb::addr_t m_kernel_load_addr; + lldb::CommandObjectSP m_command_sp; + bool StartAsyncThread (); |