diff options
author | Todd Fiala <todd.fiala@gmail.com> | 2016-08-19 02:52:07 +0000 |
---|---|---|
committer | Todd Fiala <todd.fiala@gmail.com> | 2016-08-19 02:52:07 +0000 |
commit | aef7de8492f482254b6bf8d61430ccfd5cda1199 (patch) | |
tree | b29c4ab0bac0642c2c766488e173646c7fabcc66 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | e8529c28f1c109e0c5f7be3ff96b17248c69b9bb (diff) | |
download | bcm5719-llvm-aef7de8492f482254b6bf8d61430ccfd5cda1199.tar.gz bcm5719-llvm-aef7de8492f482254b6bf8d61430ccfd5cda1199.zip |
Add StructuredData plugin type; showcase with new DarwinLog feature
See docs/structured_data/StructuredDataPlugins.md for details.
differential review: https://reviews.llvm.org/D22976
reviewers: clayborg, jingham
llvm-svn: 279198
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 1fa78fe155f..be5c3b552c8 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -1175,7 +1175,7 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch) { Log *log (ProcessGDBRemoteLog::GetLogIfAllCategoriesSet (GDBR_LOG_PROCESS)); if (log) - log->Printf ("ProcessGDBRemote::DidLaunch()"); + log->Printf ("ProcessGDBRemote::%s()", __FUNCTION__); if (GetID() != LLDB_INVALID_PROCESS_ID) { BuildDynamicRegisterInfo (false); @@ -1271,6 +1271,13 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch) GetTarget().SetArchitecture (process_arch); } } + + // Find out which StructuredDataPlugins are supported by the + // debug monitor. These plugins transmit data over async $J packets. + auto supported_packets_array = + m_gdb_comm.GetSupportedStructuredDataPlugins(); + if (supported_packets_array) + MapSupportedStructuredDataPlugins(*supported_packets_array); } } @@ -4342,6 +4349,13 @@ ProcessGDBRemote::GetSharedCacheInfo () return object_sp; } +Error +ProcessGDBRemote::ConfigureStructuredData(const ConstString &type_name, + const StructuredData::ObjectSP + &config_sp) +{ + return m_gdb_comm.ConfigureRemoteStructuredData(type_name, config_sp); +} // Establish the largest memory read/write payloads we should use. // If the remote stub has a max packet size, stay under that size. @@ -5235,6 +5249,13 @@ ProcessGDBRemote::HandleStopReply() BuildDynamicRegisterInfo(true); } +bool +ProcessGDBRemote::HandleAsyncStructuredData(const StructuredData::ObjectSP + &object_sp) +{ + return RouteAsyncStructuredData(object_sp); +} + class CommandObjectProcessGDBRemoteSpeedTest: public CommandObjectParsed { public: |