diff options
Diffstat (limited to 'include/lldb/Core/Debugger.h')
-rw-r--r-- | include/lldb/Core/Debugger.h | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/include/lldb/Core/Debugger.h b/include/lldb/Core/Debugger.h index 7ab62e5b7f3a..15c832f4bf66 100644 --- a/include/lldb/Core/Debugger.h +++ b/include/lldb/Core/Debugger.h @@ -25,6 +25,7 @@ #include "lldb/Core/UserID.h" #include "lldb/Core/UserSettingsController.h" #include "lldb/DataFormatters/FormatManager.h" +#include "lldb/Host/HostThread.h" #include "lldb/Host/Terminal.h" #include "lldb/Interpreter/OptionValueProperties.h" #include "lldb/Target/ExecutionContext.h" @@ -249,6 +250,13 @@ public: Stream &s, ValueObject* valobj = NULL); + static bool + FormatDisassemblerAddress (const char *format, + const SymbolContext *sc, + const SymbolContext *prev_sc, + const ExecutionContext *exe_ctx, + const Address *addr, + Stream &s); void ClearIOHandlers (); @@ -287,10 +295,13 @@ public: bool GetAutoConfirm () const; - + + const char * + GetDisassemblyFormat() const; + const char * GetFrameFormat() const; - + const char * GetThreadFormat() const; @@ -337,6 +348,9 @@ public: GetAutoOneLineSummaries () const; bool + GetEscapeNonPrintables () const; + + bool GetNotifyVoid () const; @@ -364,9 +378,14 @@ public: bool IsHandlingEvents () const { - return IS_VALID_LLDB_HOST_THREAD(m_event_handler_thread); + return m_event_handler_thread.IsJoinable(); } + // This is for use in the command interpreter, when you either want the selected target, or if no target + // is present you want to prime the dummy target with entities that will be copied over to new targets. + Target *GetSelectedOrDummyTarget(bool prefer_dummy = false); + Target *GetDummyTarget(); + protected: friend class CommandInterpreter; @@ -412,11 +431,16 @@ protected: { return m_source_file_cache; } + + void + InstanceInitialize (); + lldb::StreamFileSP m_input_file_sp; lldb::StreamFileSP m_output_file_sp; lldb::StreamFileSP m_error_file_sp; TerminalState m_terminal_state; TargetList m_target_list; + PlatformList m_platform_list; Listener m_listener; std::unique_ptr<SourceManager> m_source_manager_ap; // This is a scratch source manager that we return if we have no targets. @@ -432,12 +456,19 @@ protected: static LoadPluginCallbackType g_load_plugin_callback; typedef std::vector<llvm::sys::DynamicLibrary> LoadedPluginsList; LoadedPluginsList m_loaded_plugins; - lldb::thread_t m_event_handler_thread; - lldb::thread_t m_io_handler_thread; + HostThread m_event_handler_thread; + HostThread m_io_handler_thread; + Broadcaster m_sync_broadcaster; lldb::ListenerSP m_forward_listener_sp; - void - InstanceInitialize (); - + + //---------------------------------------------------------------------- + // Events for m_sync_broadcaster + //---------------------------------------------------------------------- + enum + { + eBroadcastBitEventThreadIsListening = (1 << 0), + }; + private: // Use Debugger::CreateInstance() to get a shared pointer to a new |