summaryrefslogtreecommitdiff
path: root/include/lldb/Core/Debugger.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Core/Debugger.h')
-rw-r--r--include/lldb/Core/Debugger.h47
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