LLDB mainline
|
A class to manage flag bits. More...
#include "lldb/Core/Debugger.h"
Classes | |
struct | DestroyCallbackInfo |
class | InterruptionReport |
Public Types | |
enum | StopDisassemblyType { eStopDisassemblyTypeNever = 0 , eStopDisassemblyTypeNoDebugInfo , eStopDisassemblyTypeNoSource , eStopDisassemblyTypeAlways } |
using | DebuggerList = std::vector< lldb::DebuggerSP > |
Public Member Functions | |
Broadcaster & | GetBroadcaster () |
Get the public broadcaster for this debugger. | |
const Broadcaster & | GetBroadcaster () const |
~Debugger () override | |
void | Clear () |
bool | GetAsyncExecution () |
void | SetAsyncExecution (bool async) |
lldb::FileSP | GetInputFileSP () |
lldb::StreamFileSP | GetOutputStreamSP () |
lldb::StreamFileSP | GetErrorStreamSP () |
File & | GetInputFile () |
File & | GetOutputFile () |
File & | GetErrorFile () |
StreamFile & | GetOutputStream () |
StreamFile & | GetErrorStream () |
repro::DataRecorder * | GetInputRecorder () |
Status | SetInputString (const char *data) |
void | SetInputFile (lldb::FileSP file) |
void | SetOutputFile (lldb::FileSP file) |
void | SetErrorFile (lldb::FileSP file) |
void | SaveInputTerminalState () |
void | RestoreInputTerminalState () |
lldb::StreamSP | GetAsyncOutputStream () |
lldb::StreamSP | GetAsyncErrorStream () |
CommandInterpreter & | GetCommandInterpreter () |
ScriptInterpreter * | GetScriptInterpreter (bool can_create=true, std::optional< lldb::ScriptLanguage > language={}) |
lldb::ListenerSP | GetListener () |
SourceManager & | GetSourceManager () |
lldb::TargetSP | GetSelectedTarget () |
ExecutionContext | GetSelectedExecutionContext () |
TargetList & | GetTargetList () |
Get accessor for the target list. | |
PlatformList & | GetPlatformList () |
void | DispatchInputInterrupt () |
void | DispatchInputEndOfFile () |
void | AdoptTopIOHandlerFilesIfInvalid (lldb::FileSP &in, lldb::StreamFileSP &out, lldb::StreamFileSP &err) |
void | RunIOHandlerAsync (const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler=true) |
Run the given IO handler and return immediately. | |
void | RunIOHandlerSync (const lldb::IOHandlerSP &reader_sp) |
Run the given IO handler and block until it's complete. | |
bool | RemoveIOHandler (const lldb::IOHandlerSP &reader_sp) |
Remove the given IO handler if it's currently active. | |
bool | IsTopIOHandler (const lldb::IOHandlerSP &reader_sp) |
bool | CheckTopIOHandlerTypes (IOHandler::Type top_type, IOHandler::Type second_top_type) |
void | PrintAsync (const char *s, size_t len, bool is_stdout) |
llvm::StringRef | GetTopIOHandlerControlSequence (char ch) |
const char * | GetIOHandlerCommandPrefix () |
const char * | GetIOHandlerHelpPrologue () |
void | ClearIOHandlers () |
bool | EnableLog (llvm::StringRef channel, llvm::ArrayRef< const char * > categories, llvm::StringRef log_file, uint32_t log_options, size_t buffer_size, LogHandlerKind log_handler_kind, llvm::raw_ostream &error_stream) |
void | SetLoggingCallback (lldb::LogOutputCallback log_callback, void *baton) |
Status | SetPropertyValue (const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef property_path, llvm::StringRef value) override |
bool | GetAutoConfirm () const |
const FormatEntity::Entry * | GetDisassemblyFormat () const |
const FormatEntity::Entry * | GetFrameFormat () const |
const FormatEntity::Entry * | GetFrameFormatUnique () const |
uint64_t | GetStopDisassemblyMaxSize () const |
const FormatEntity::Entry * | GetThreadFormat () const |
const FormatEntity::Entry * | GetThreadStopFormat () const |
lldb::ScriptLanguage | GetScriptLanguage () const |
bool | SetScriptLanguage (lldb::ScriptLanguage script_lang) |
lldb::LanguageType | GetREPLLanguage () const |
bool | SetREPLLanguage (lldb::LanguageType repl_lang) |
uint64_t | GetTerminalWidth () const |
bool | SetTerminalWidth (uint64_t term_width) |
uint64_t | GetTerminalHeight () const |
bool | SetTerminalHeight (uint64_t term_height) |
llvm::StringRef | GetPrompt () const |
llvm::StringRef | GetPromptAnsiPrefix () const |
llvm::StringRef | GetPromptAnsiSuffix () const |
void | SetPrompt (llvm::StringRef p) |
void | SetPrompt (const char *)=delete |
bool | GetUseExternalEditor () const |
bool | SetUseExternalEditor (bool use_external_editor_p) |
llvm::StringRef | GetExternalEditor () const |
bool | SetExternalEditor (llvm::StringRef editor) |
bool | GetUseColor () const |
bool | SetUseColor (bool use_color) |
bool | GetShowProgress () const |
bool | SetShowProgress (bool show_progress) |
llvm::StringRef | GetShowProgressAnsiPrefix () const |
llvm::StringRef | GetShowProgressAnsiSuffix () const |
bool | GetUseAutosuggestion () const |
llvm::StringRef | GetAutosuggestionAnsiPrefix () const |
llvm::StringRef | GetAutosuggestionAnsiSuffix () const |
llvm::StringRef | GetRegexMatchAnsiPrefix () const |
llvm::StringRef | GetRegexMatchAnsiSuffix () const |
bool | GetShowDontUsePoHint () const |
bool | GetUseSourceCache () const |
bool | SetUseSourceCache (bool use_source_cache) |
bool | GetHighlightSource () const |
lldb::StopShowColumn | GetStopShowColumn () const |
llvm::StringRef | GetStopShowColumnAnsiPrefix () const |
llvm::StringRef | GetStopShowColumnAnsiSuffix () const |
uint64_t | GetStopSourceLineCount (bool before) const |
StopDisassemblyType | GetStopDisassemblyDisplay () const |
uint64_t | GetDisassemblyLineCount () const |
llvm::StringRef | GetStopShowLineMarkerAnsiPrefix () const |
llvm::StringRef | GetStopShowLineMarkerAnsiSuffix () const |
bool | GetAutoOneLineSummaries () const |
bool | GetAutoIndent () const |
bool | SetAutoIndent (bool b) |
bool | GetPrintDecls () const |
bool | SetPrintDecls (bool b) |
uint64_t | GetTabSize () const |
bool | SetTabSize (uint64_t tab_size) |
lldb::DWIMPrintVerbosity | GetDWIMPrintVerbosity () const |
bool | GetEscapeNonPrintables () const |
bool | GetNotifyVoid () const |
const std::string & | GetInstanceName () |
bool | GetShowInlineDiagnostics () const |
bool | SetShowInlineDiagnostics (bool) |
bool | LoadPlugin (const FileSpec &spec, Status &error) |
void | RunIOHandlers () |
bool | IsForwardingEvents () |
void | EnableForwardEvents (const lldb::ListenerSP &listener_sp) |
void | CancelForwardEvents (const lldb::ListenerSP &listener_sp) |
bool | IsHandlingEvents () const |
Status | RunREPL (lldb::LanguageType language, const char *repl_options) |
void | RequestInterrupt () |
Interruption in LLDB: | |
void | CancelInterruptRequest () |
Decrement the "interrupt requested" counter. | |
template<typename... Args> | |
bool | InterruptRequested (const char *cur_func, const char *formatv, Args &&...args) |
This is the correct way to query the state of Interruption. | |
bool | InterruptRequested () |
void | ReportInterruption (const InterruptionReport &report) |
Target & | GetSelectedOrDummyTarget (bool prefer_dummy=false) |
Target & | GetDummyTarget () |
lldb::BroadcasterManagerSP | GetBroadcasterManager () |
void | SetDestroyCallback (lldb_private::DebuggerDestroyCallback destroy_callback, void *baton) |
DEPRECATED: We used to only support one Destroy callback. | |
lldb::callback_token_t | AddDestroyCallback (lldb_private::DebuggerDestroyCallback destroy_callback, void *baton) |
Add a callback for when the debugger is destroyed. | |
bool | RemoveDestroyCallback (lldb::callback_token_t token) |
Remove the specified callback. Return true if successful. | |
bool | StartEventHandlerThread () |
Manually start the global event handler thread. | |
void | StopEventHandlerThread () |
Manually stop the debugger's default event handler. | |
void | FlushProcessOutput (Process &process, bool flush_stdout, bool flush_stderr) |
Force flushing the process's pending stdout and stderr to the debugger's asynchronous stdout and stderr streams. | |
SourceManager::SourceFileCache & | GetSourceFileCache () |
Public Member Functions inherited from lldb_private::UserID | |
UserID (lldb::user_id_t uid=LLDB_INVALID_UID) | |
Construct with optional user ID. | |
~UserID ()=default | |
Destructor. | |
void | Clear () |
Clears the object state. | |
lldb::user_id_t | GetID () const |
Get accessor for the user ID. | |
void | SetID (lldb::user_id_t uid) |
Set accessor for the user ID. | |
Public Member Functions inherited from lldb_private::Properties | |
Properties () | |
Properties (const lldb::OptionValuePropertiesSP &collection_sp) | |
virtual | ~Properties () |
virtual lldb::OptionValuePropertiesSP | GetValueProperties () const |
virtual lldb::OptionValueSP | GetPropertyValue (const ExecutionContext *exe_ctx, llvm::StringRef property_path, Status &error) const |
virtual Status | SetPropertyValue (const ExecutionContext *exe_ctx, VarSetOperationType op, llvm::StringRef property_path, llvm::StringRef value) |
virtual Status | DumpPropertyValue (const ExecutionContext *exe_ctx, Stream &strm, llvm::StringRef property_path, uint32_t dump_mask, bool is_json=false) |
virtual void | DumpAllPropertyValues (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask, bool is_json=false) |
virtual void | DumpAllDescriptions (CommandInterpreter &interpreter, Stream &strm) const |
size_t | Apropos (llvm::StringRef keyword, std::vector< const Property * > &matching_properties) const |
template<typename T > | |
T | GetPropertyAtIndexAs (uint32_t idx, T default_value, const ExecutionContext *exe_ctx=nullptr) const |
template<typename T , typename U = typename std::remove_pointer<T>::type, std::enable_if_t< std::is_pointer_v< T >, bool > = true> | |
const U * | GetPropertyAtIndexAs (uint32_t idx, const ExecutionContext *exe_ctx=nullptr) const |
template<typename T > | |
bool | SetPropertyAtIndex (uint32_t idx, T t, const ExecutionContext *exe_ctx=nullptr) const |
Static Public Member Functions | |
static llvm::StringRef | GetStaticBroadcasterClass () |
static lldb::DebuggerSP | CreateInstance (lldb::LogOutputCallback log_callback=nullptr, void *baton=nullptr) |
static lldb::TargetSP | FindTargetWithProcessID (lldb::pid_t pid) |
static lldb::TargetSP | FindTargetWithProcess (Process *process) |
static void | Initialize (LoadPluginCallbackType load_plugin_callback) |
static void | Terminate () |
static void | SettingsInitialize () |
static void | SettingsTerminate () |
static void | Destroy (lldb::DebuggerSP &debugger_sp) |
static lldb::DebuggerSP | FindDebuggerWithID (lldb::user_id_t id) |
static lldb::DebuggerSP | FindDebuggerWithInstanceName (llvm::StringRef instance_name) |
static size_t | GetNumDebuggers () |
static lldb::DebuggerSP | GetDebuggerAtIndex (size_t index) |
static bool | FormatDisassemblerAddress (const FormatEntity::Entry *format, const SymbolContext *sc, const SymbolContext *prev_sc, const ExecutionContext *exe_ctx, const Address *addr, Stream &s) |
static void | AssertCallback (llvm::StringRef message, llvm::StringRef backtrace, llvm::StringRef prompt) |
static DebuggerList | DebuggersRequestingInterruption () |
static llvm::ThreadPoolInterface & | GetThreadPool () |
Shared thread pool. Use only with ThreadPoolTaskGroup. | |
static void | ReportWarning (std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr) |
Report warning events. | |
static void | ReportError (std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr) |
Report error events. | |
static void | ReportInfo (std::string message, std::optional< lldb::user_id_t > debugger_id=std::nullopt, std::once_flag *once=nullptr) |
Report info events. | |
static void | ReportSymbolChange (const ModuleSpec &module_spec) |
Static Public Member Functions inherited from lldb_private::Properties | |
static llvm::StringRef | GetExperimentalSettingsName () |
static bool | IsSettingExperimental (llvm::StringRef setting) |
Protected Types | |
enum | { eBroadcastBitEventThreadIsListening = (1 << 0) } |
typedef std::vector< llvm::sys::DynamicLibrary > | LoadedPluginsList |
Protected Member Functions | |
void | HandleDestroyCallback () |
void | PrintProgress (const ProgressEventData &data) |
void | PushIOHandler (const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler=true) |
bool | PopIOHandler (const lldb::IOHandlerSP &reader_sp) |
bool | HasIOHandlerThread () const |
bool | StartIOHandlerThread () |
void | StopIOHandlerThread () |
HostThread | SetIOHandlerThread (HostThread &new_thread) |
void | JoinIOHandlerThread () |
bool | IsIOHandlerThreadCurrentThread () const |
lldb::thread_result_t | IOHandlerThread () |
lldb::thread_result_t | DefaultEventHandler () |
void | HandleBreakpointEvent (const lldb::EventSP &event_sp) |
void | HandleProcessEvent (const lldb::EventSP &event_sp) |
void | HandleThreadEvent (const lldb::EventSP &event_sp) |
void | HandleProgressEvent (const lldb::EventSP &event_sp) |
void | HandleDiagnosticEvent (const lldb::EventSP &event_sp) |
void | InstanceInitialize () |
Static Protected Member Functions | |
static void | ReportProgress (uint64_t progress_id, std::string title, std::string details, uint64_t completed, uint64_t total, std::optional< lldb::user_id_t > debugger_id, uint32_t progress_category_bit=lldb::eBroadcastBitProgress) |
Report progress events. | |
static void | ReportDiagnosticImpl (lldb::Severity severity, std::string message, std::optional< lldb::user_id_t > debugger_id, std::once_flag *once) |
Static Protected Attributes | |
static LoadPluginCallbackType | g_load_plugin_callback = nullptr |
Private Member Functions | |
Debugger (lldb::LogOutputCallback m_log_callback, void *baton) | |
Debugger (const Debugger &)=delete | |
const Debugger & | operator= (const Debugger &)=delete |
Friends | |
class | CommandInterpreter |
class | REPL |
class | Progress |
class | ProgressManager |
A class to manage flag bits.
Provides a global root objects for the debugger core.
Definition at line 78 of file Debugger.h.
using lldb_private::Debugger::DebuggerList = std::vector<lldb::DebuggerSP> |
Definition at line 82 of file Debugger.h.
|
protected |
Definition at line 737 of file Debugger.h.
|
protected |
Enumerator | |
---|---|
eBroadcastBitEventThreadIsListening |
Definition at line 766 of file Debugger.h.
Enumerator | |
---|---|
eStopDisassemblyTypeNever | |
eStopDisassemblyTypeNoDebugInfo | |
eStopDisassemblyTypeNoSource | |
eStopDisassemblyTypeAlways |
Definition at line 246 of file Debugger.h.
|
override |
Definition at line 977 of file Debugger.cpp.
References Clear().
|
private |
Definition at line 874 of file Debugger.cpp.
References lldb_private::Diagnostics::AddCallback(), lldb_private::PlatformList::Append(), lldb_private::FileSpec::CopyByAppendingPathComponent(), lldb_private::Diagnostics::Enabled(), lldb_private::Target::GetDefaultArchitecture(), lldb_private::Language::GetGlobalLanguageProperties(), lldb_private::ModuleList::GetGlobalModuleListProperties(), lldb_private::Platform::GetGlobalPlatformProperties(), lldb_private::Target::GetGlobalProperties(), lldb_private::Platform::GetHostPlatform(), GetOutputFile(), lldb_private::FileSpec::GetPath(), lldb_private::LanguageProperties::GetSettingName(), lldb_private::Properties::GetValueProperties(), lldb_private::Diagnostics::Instance(), lldb_private::ArchSpec::IsValid(), m_callback_handler_sp, lldb_private::Properties::m_collection_sp, m_command_interpreter_up, m_diagnostics_callback_id, m_dummy_target_sp, m_platform_list, m_stream_handlers, lldb_private::OptionValueUInt64::SetMinimumValue(), and SetUseColor().
|
privatedelete |
lldb::callback_token_t Debugger::AddDestroyCallback | ( | lldb_private::DebuggerDestroyCallback | destroy_callback, |
void * | baton | ||
) |
Add a callback for when the debugger is destroyed.
Return a token, which can be used to remove said callback. Multiple callbacks can be added by calling this function multiple times, and will be invoked in FIFO order.
Definition at line 1484 of file Debugger.cpp.
References m_destroy_callback_mutex, m_destroy_callback_next_token, and m_destroy_callbacks.
void Debugger::AdoptTopIOHandlerFilesIfInvalid | ( | lldb::FileSP & | in, |
lldb::StreamFileSP & | out, | ||
lldb::StreamFileSP & | err | ||
) |
Definition at line 1229 of file Debugger.cpp.
References GetErrorStreamSP(), GetInputFileSP(), lldb_private::IOHandlerStack::GetMutex(), GetOutputStreamSP(), m_io_handler_stack, and lldb_private::IOHandlerStack::Top().
Referenced by lldb_private::IOHandler::IOHandler(), and lldb_private::ScriptInterpreterIORedirect::ScriptInterpreterIORedirect().
|
static |
Definition at line 1460 of file Debugger.cpp.
References ReportError().
Referenced by lldb_private::SystemInitializerFull::Initialize().
void Debugger::CancelForwardEvents | ( | const lldb::ListenerSP & | listener_sp | ) |
Definition at line 1919 of file Debugger.cpp.
References m_forward_listener_sp.
void Debugger::CancelInterruptRequest | ( | ) |
Decrement the "interrupt requested" counter.
Definition at line 1337 of file Debugger.cpp.
References m_interrupt_mutex, and m_interrupt_requested.
bool Debugger::CheckTopIOHandlerTypes | ( | IOHandler::Type | top_type, |
IOHandler::Type | second_top_type | ||
) |
Definition at line 1194 of file Debugger.cpp.
References lldb_private::IOHandlerStack::CheckTopIOHandlerTypes(), and m_io_handler_stack.
Referenced by lldb_private::REPL::IOHandlerInputComplete().
void Debugger::Clear | ( | ) |
Definition at line 979 of file Debugger.cpp.
References lldb_private::TerminalState::Clear(), ClearIOHandlers(), lldb_private::File::Close(), lldb_private::Diagnostics::Enabled(), GetInputFile(), lldb_private::Diagnostics::Instance(), m_broadcaster_manager_sp, m_clear_once, m_command_interpreter_up, m_diagnostics_callback_id, m_listener_sp, m_target_list, m_terminal_state, lldb_private::Diagnostics::RemoveCallback(), StopEventHandlerThread(), StopIOHandlerThread(), and lldb_private::TargetList::Targets().
Referenced by ~Debugger().
void Debugger::ClearIOHandlers | ( | ) |
Definition at line 1123 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetMutex(), lldb_private::IOHandlerStack::GetSize(), m_io_handler_stack, PopIOHandler(), and lldb_private::IOHandlerStack::Top().
Referenced by Clear(), and RunIOHandlers().
|
static |
Definition at line 763 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb::SBDebugger::Create().
|
static |
Definition at line 1370 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by DebuggersOwningModuleRequestingInterruption().
|
protected |
Definition at line 1923 of file Debugger.cpp.
References lldb_private::Broadcaster::BroadcastEvent(), lldb_private::CommandInterpreter::eBroadcastBitAsynchronousErrorData, lldb_private::CommandInterpreter::eBroadcastBitAsynchronousOutputData, lldb_private::Target::eBroadcastBitBreakpointChanged, lldb::eBroadcastBitError, eBroadcastBitEventThreadIsListening, lldb::eBroadcastBitProgress, lldb_private::CommandInterpreter::eBroadcastBitQuitCommandReceived, lldb_private::Thread::eBroadcastBitStackChanged, lldb_private::Process::eBroadcastBitStateChanged, lldb_private::Process::eBroadcastBitSTDERR, lldb_private::Process::eBroadcastBitSTDOUT, lldb_private::Process::eBroadcastBitStructuredData, lldb_private::Thread::eBroadcastBitThreadSelected, lldb::eBroadcastBitWarning, lldb::eBroadcastSymbolChange, GetAsyncErrorStream(), GetAsyncOutputStream(), lldb_private::Broadcaster::GetBroadcasterClass(), lldb_private::EventDataBytes::GetBytesFromEvent(), lldb_private::Breakpoint::BreakpointEventData::GetEventDataFromEvent(), GetListener(), lldb_private::Process::GetStaticBroadcasterClass(), lldb_private::Target::GetStaticBroadcasterClass(), lldb_private::Thread::GetStaticBroadcasterClass(), HandleBreakpointEvent(), HandleDiagnosticEvent(), HandleProcessEvent(), HandleProgressEvent(), HandleThreadEvent(), m_broadcaster, m_broadcaster_manager_sp, m_command_interpreter_up, m_forward_listener_sp, and m_sync_broadcaster.
Referenced by StartEventHandlerThread().
|
static |
Definition at line 794 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, g_debugger_list_ptr, lldb_private::CommandReturnObject::GetErrorString(), lldb_private::CommandReturnObject::GetOutputString(), lldb_private::CommandInterpreter::GetSaveSessionOnQuit(), lldb_private::CommandInterpreter::SaveTranscript(), and lldb_private::CommandReturnObject::Succeeded().
Referenced by lldb::SBDebugger::Destroy().
void Debugger::DispatchInputEndOfFile | ( | ) |
Definition at line 1116 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetMutex(), m_io_handler_stack, and lldb_private::IOHandlerStack::Top().
void Debugger::DispatchInputInterrupt | ( | ) |
Definition at line 1109 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetMutex(), m_io_handler_stack, and lldb_private::IOHandlerStack::Top().
void Debugger::EnableForwardEvents | ( | const lldb::ListenerSP & | listener_sp | ) |
Definition at line 1915 of file Debugger.cpp.
References m_forward_listener_sp.
bool Debugger::EnableLog | ( | llvm::StringRef | channel, |
llvm::ArrayRef< const char * > | categories, | ||
llvm::StringRef | log_file, | ||
uint32_t | log_options, | ||
size_t | buffer_size, | ||
LogHandlerKind | log_handler_kind, | ||
llvm::raw_ostream & | error_stream | ||
) |
Definition at line 1668 of file Debugger.cpp.
References CreateLogHandler(), lldb_private::Log::EnableLogChannel(), lldb_private::File::eOpenOptionAppend, lldb_private::File::eOpenOptionCanCreate, lldb_private::File::eOpenOptionTruncate, lldb_private::File::eOpenOptionWriteOnly, GetOutputFile(), lldb_private::FileSystem::Instance(), LLDB_LOG_OPTION_APPEND, LLDB_LOG_OPTION_PREPEND_THREAD_NAME, LLDB_LOG_OPTION_PREPEND_TIMESTAMP, m_callback_handler_sp, m_stream_handlers, and lldb_private::FileSystem::Open().
Referenced by CommandObjectLogEnable::DoExecute().
|
static |
Definition at line 1402 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb::SBDebugger::FindDebuggerWithID(), ReportDiagnosticImpl(), and ReportProgress().
|
static |
Definition at line 826 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb::SBDebugger::GetInternalVariableValue(), and lldb::SBDebugger::SetInternalVariable().
Definition at line 855 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
|
static |
Definition at line 841 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb_private::Process::SetProcessExitStatus().
void Debugger::FlushProcessOutput | ( | Process & | process, |
bool | flush_stdout, | ||
bool | flush_stderr | ||
) |
Force flushing the process's pending stdout and stderr to the debugger's asynchronous stdout and stderr streams.
Definition at line 1789 of file Debugger.cpp.
References error(), lldb_private::Stream::Flush(), GetAsyncErrorStream(), GetAsyncOutputStream(), lldb_private::Process::GetSTDERR(), lldb_private::Process::GetSTDOUT(), m_output_flush_mutex, and lldb_private::Stream::Write().
Referenced by lldb_private::CommandInterpreter::GetProcessOutput(), and HandleProcessEvent().
|
static |
Definition at line 1418 of file Debugger.cpp.
References lldb_private::Symbol::Compare(), lldb_private::FormatEntity::Format(), lldb_private::SymbolContext::function, lldb_private::Target::GetDebugger(), GetDisassemblyFormat(), lldb_private::Function::GetMangled(), lldb_private::Symbol::GetName(), lldb_private::ExecutionContext::GetTargetRef(), lldb_private::Symbol::GetType(), lldb_private::ExecutionContext::HasTargetScope(), lldb_private::FormatEntity::Parse(), and lldb_private::SymbolContext::symbol.
Referenced by lldb_private::Instruction::Dump(), and lldb_private::Disassembler::PrintInstructions().
StreamSP Debugger::GetAsyncErrorStream | ( | ) |
Definition at line 1328 of file Debugger.cpp.
References GetUseColor().
Referenced by lldb_private::BreakpointOptions::BreakpointOptionsCallbackFunction(), lldb_private::Process::CompleteAttach(), DefaultEventHandler(), FlushProcessOutput(), HandleDiagnosticEvent(), HandleProcessEvent(), CommandObjectWatchpointCommandAdd::CommandOptions::OptionParsingStarting(), and PrivateReportDiagnostic().
bool Debugger::GetAsyncExecution | ( | ) |
Definition at line 1014 of file Debugger.cpp.
References m_command_interpreter_up.
Referenced by CommandObjectProcessContinue::DoExecute(), CommandObjectProcessConnect::DoExecute(), lldb_private::CommandInterpreter::HandleCommands(), lldb_private::CommandInterpreter::HandleCommandsFromFile(), lldb_private::Target::StopHookCommandLine::HandleStop(), lldb_private::StopInfoBreakpoint::PerformAction(), lldb_private::StopInfoWatchpoint::PerformAction(), and lldb::SBThread::ResumeNewPlan().
StreamSP Debugger::GetAsyncOutputStream | ( | ) |
Definition at line 1324 of file Debugger.cpp.
References GetUseColor().
Referenced by lldb_private::ClangUserExpression::AddArguments(), lldb_private::BreakpointOptions::BreakpointOptionsCallbackFunction(), DefaultEventHandler(), ProcessKDP::DoConnectRemote(), FlushProcessOutput(), HandleBreakpointEvent(), HandleProcessEvent(), HandleProgressEvent(), HandleThreadEvent(), CommandObjectWatchpointCommandAdd::CommandOptions::OptionParsingStarting(), lldb_private::StopInfoWatchpoint::PerformAction(), lldb_private::Target::RunStopHooks(), and ObjectFileMachO::SaveCore().
bool Debugger::GetAutoConfirm | ( | ) | const |
Definition at line 273 of file Debugger.cpp.
Referenced by lldb_private::CommandInterpreter::Confirm().
bool Debugger::GetAutoIndent | ( | ) | const |
Definition at line 576 of file Debugger.cpp.
Referenced by lldb_private::REPL::GetIOHandler().
bool Debugger::GetAutoOneLineSummaries | ( | ) | const |
Definition at line 564 of file Debugger.cpp.
llvm::StringRef Debugger::GetAutosuggestionAnsiPrefix | ( | ) | const |
Definition at line 463 of file Debugger.cpp.
Referenced by lldb_private::IOHandlerEditline::IOHandlerEditline().
llvm::StringRef Debugger::GetAutosuggestionAnsiSuffix | ( | ) | const |
Definition at line 469 of file Debugger.cpp.
Referenced by lldb_private::IOHandlerEditline::IOHandlerEditline().
|
inline |
Get the public broadcaster for this debugger.
Definition at line 87 of file Debugger.h.
References m_broadcaster.
Referenced by PrivateReportDiagnostic(), and PrivateReportProgress().
|
inline |
Definition at line 88 of file Debugger.h.
References m_broadcaster.
|
inline |
Definition at line 498 of file Debugger.h.
References m_broadcaster_manager_sp.
Referenced by lldb::SBListener::StartListeningForEventClass(), and lldb::SBListener::StopListeningForEventClass().
|
inline |
Definition at line 168 of file Debugger.h.
References m_command_interpreter_up.
Referenced by lldb_private::BreakpointOptions::BreakpointOptionsCallbackFunction(), lldb_private::TargetList::CreateTargetInternal(), lldb_private::StructuredDataDarwinLog::DebuggerInitialize(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectCommandsSource::DoExecute(), CommandObjectCommandsScriptImport::DoExecute(), CommandObjectCommandsScriptAdd::DoExecute(), lldb_private::Target::StopHookCommandLine::HandleStop(), lldb_private::StructuredDataPlugin::InitializeBasePluginForDebugger(), InterruptRequested(), lldb_private::IOHandlerDelegate::IOHandlerComplete(), lldb_private::REPL::IOHandlerComplete(), lldb_private::REPL::IOHandlerInputComplete(), lldb_private::IOHandlerDelegate::IOHandlerSuggestion(), lldb_private::Target::Launch(), lldb_private::REPL::REPL(), lldb_private::DebuggerStats::ReportStatistics(), lldb_private::REPL::RunLoop(), SetPrompt(), SetPropertyValue(), and StopEventHandlerThread().
|
static |
Definition at line 1390 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb::SBTypeCategory::AddTypeSummary(), lldb::SBTypeCategory::AddTypeSynthetic(), and lldb_private::CommandObjectQuit::ShouldAskForConfirmation().
const FormatEntity::Entry * Debugger::GetDisassemblyFormat | ( | ) | const |
Definition at line 279 of file Debugger.cpp.
Referenced by lldb_private::InstructionList::Dump(), FormatDisassemblerAddress(), lldb_private::ThreadPlanAssemblyTracer::Log(), and lldb_private::Disassembler::PrintInstructions().
uint64_t Debugger::GetDisassemblyLineCount | ( | ) | const |
Definition at line 558 of file Debugger.cpp.
Referenced by lldb_private::StackFrame::GetStatus().
|
inline |
Definition at line 496 of file Debugger.h.
References m_dummy_target_sp.
Referenced by lldb_private::TargetList::CreateTargetInternal(), lldb_private::CommandObject::GetDummyTarget(), GetSelectedOrDummyTarget(), and lldb_private::CommandInterpreter::PreprocessToken().
lldb::DWIMPrintVerbosity Debugger::GetDWIMPrintVerbosity | ( | ) | const |
Definition at line 609 of file Debugger.cpp.
Referenced by lldb_private::CommandObjectDWIMPrint::DoExecute().
|
inline |
Definition at line 144 of file Debugger.h.
References m_error_stream_sp.
Referenced by IOHandlerLuaInterpreter::IOHandlerLuaInterpreter().
|
inline |
Definition at line 148 of file Debugger.h.
References m_error_stream_sp.
Referenced by lldb_private::ScriptInterpreterLua::BreakpointCallbackFunction(), lldb_private::Process::CreateBreakpointSite(), lldb_private::ScriptInterpreterNone::ExecuteInterpreterLoop(), lldb_private::ScriptInterpreterNone::ExecuteOneLine(), lldb_private::DynamicLoader::LoadBinaryWithUUIDAndAddress(), DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule(), LoadScriptingResourceForModule(), lldb_private::ScriptInterpreterIORedirect::ScriptInterpreterIORedirect(), SetPropertyValue(), and lldb_private::ScriptInterpreterLua::WatchpointCallbackFunction().
|
inline |
Definition at line 138 of file Debugger.h.
References m_error_stream_sp.
Referenced by AdoptTopIOHandlerFilesIfInvalid(), and lldb_private::CommandInterpreter::GetIOHandler().
bool Debugger::GetEscapeNonPrintables | ( | ) | const |
Definition at line 570 of file Debugger.cpp.
llvm::StringRef Debugger::GetExternalEditor | ( | ) | const |
Definition at line 410 of file Debugger.cpp.
Referenced by lldb_private::Thread::GetStatus(), lldb_private::CommandInterpreter::SaveTranscript(), and lldb_private::Thread::SetSelectedFrameByIndexNoisily().
const FormatEntity::Entry * Debugger::GetFrameFormat | ( | ) | const |
Definition at line 284 of file Debugger.cpp.
Referenced by lldb_private::StackFrame::DumpUsingSettingsFormat().
const FormatEntity::Entry * Debugger::GetFrameFormatUnique | ( | ) | const |
Definition at line 289 of file Debugger.cpp.
Referenced by lldb_private::StackFrame::DumpUsingSettingsFormat().
bool Debugger::GetHighlightSource | ( | ) | const |
Definition at line 507 of file Debugger.cpp.
|
inline |
Definition at line 140 of file Debugger.h.
References m_input_file_sp.
Referenced by Clear(), lldb_private::CommandObjectGUI::DoExecute(), lldb_private::ScriptInterpreterLua::ExecuteInterpreterLoop(), SaveInputTerminalState(), and StopIOHandlerThread().
|
inline |
Definition at line 134 of file Debugger.h.
References m_input_file_sp.
Referenced by AdoptTopIOHandlerFilesIfInvalid(), lldb_private::CommandInterpreter::GetIOHandler(), and lldb_private::ScriptInterpreterIORedirect::ScriptInterpreterIORedirect().
repro::DataRecorder * Debugger::GetInputRecorder | ( | ) |
Definition at line 1022 of file Debugger.cpp.
References m_input_recorder.
|
inline |
Definition at line 369 of file Debugger.h.
References m_instance_name.
const char * Debugger::GetIOHandlerCommandPrefix | ( | ) |
Definition at line 1212 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetTopIOHandlerCommandPrefix(), and m_io_handler_stack.
Referenced by lldb_private::CommandInterpreter::GetCommandPrefix().
const char * Debugger::GetIOHandlerHelpPrologue | ( | ) |
Definition at line 1216 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetTopIOHandlerHelpPrologue(), and m_io_handler_stack.
|
inline |
Definition at line 177 of file Debugger.h.
References m_listener_sp.
Referenced by lldb_private::Target::CreateProcess(), DefaultEventHandler(), lldb_private::Platform::DoConnectProcess(), and lldb_private::ProcessAttachInfo::GetListenerForProcess().
bool Debugger::GetNotifyVoid | ( | ) | const |
Definition at line 300 of file Debugger.cpp.
Referenced by lldb_private::REPL::IOHandlerInputComplete().
|
static |
Definition at line 1382 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb::SBTypeCategory::AddTypeSummary(), lldb::SBTypeCategory::AddTypeSynthetic(), and lldb_private::CommandObjectQuit::ShouldAskForConfirmation().
|
inline |
Definition at line 142 of file Debugger.h.
References m_output_stream_sp.
Referenced by Debugger(), lldb_private::CommandObjectGUI::DoExecute(), EnableLog(), lldb_private::CommandInterpreter::HandleCommandsFromFile(), HandleProgressEvent(), and IOHandlerLuaInterpreter::IOHandlerLuaInterpreter().
|
inline |
Definition at line 146 of file Debugger.h.
References m_output_stream_sp.
Referenced by DynamicLoaderFreeBSDKernel::KModImageInfo::LoadImageUsingMemoryModule(), DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule(), DynamicLoaderDarwinKernel::ParseKextSummaries(), DynamicLoaderDarwinKernel::ReadKextSummaryHeader(), and lldb_private::ScriptInterpreterIORedirect::ScriptInterpreterIORedirect().
|
inline |
Definition at line 136 of file Debugger.h.
References m_output_stream_sp.
Referenced by AdoptTopIOHandlerFilesIfInvalid(), lldb_private::CommandInterpreter::GetIOHandler(), and lldb_private::InstrumentationRuntimeUBSan::RetrieveReportData().
|
inline |
Definition at line 200 of file Debugger.h.
References m_platform_list.
Referenced by lldb_private::Target::Attach(), lldb_private::Process::CompleteAttach(), lldb_private::OptionGroupPlatform::CreatePlatformWithOptions(), lldb_private::TargetList::CreateTargetInternal(), CommandObjectPlatformSelect::DoExecute(), CommandObjectPlatformStatus::DoExecute(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectPlatformProcessList::DoExecute(), CommandObjectPlatformProcessInfo::DoExecute(), DynamicLoaderDarwinKernel::DynamicLoaderDarwinKernel(), lldb_private::CommandInterpreter::GetPlatform(), ObjectFileMachO::LoadCoreFileImages(), lldb_private::CommandCompletions::RemoteDiskDirectories(), and lldb_private::CommandCompletions::RemoteDiskFiles().
bool Debugger::GetPrintDecls | ( | ) | const |
Definition at line 587 of file Debugger.cpp.
Referenced by lldb_private::REPL::IOHandlerInputComplete().
llvm::StringRef Debugger::GetPrompt | ( | ) | const |
Definition at line 306 of file Debugger.cpp.
Referenced by lldb_private::CommandInterpreter::GetIOHandler(), lldb_private::CommandInterpreter::HandleCommands(), lldb_private::CommandInterpreter::HandleCommandsFromFile(), lldb_private::CommandInterpreter::IOHandlerInputComplete(), SetPrompt(), SetPropertyValue(), and SetUseColor().
llvm::StringRef Debugger::GetPromptAnsiPrefix | ( | ) | const |
Definition at line 312 of file Debugger.cpp.
Referenced by lldb_private::IOHandlerEditline::SetPrompt().
llvm::StringRef Debugger::GetPromptAnsiSuffix | ( | ) | const |
Definition at line 318 of file Debugger.cpp.
Referenced by lldb_private::IOHandlerEditline::SetPrompt().
llvm::StringRef Debugger::GetRegexMatchAnsiPrefix | ( | ) | const |
Definition at line 475 of file Debugger.cpp.
Referenced by LookupSymbolInModule().
llvm::StringRef Debugger::GetRegexMatchAnsiSuffix | ( | ) | const |
Definition at line 481 of file Debugger.cpp.
Referenced by LookupSymbolInModule().
lldb::LanguageType Debugger::GetREPLLanguage | ( | ) | const |
Definition at line 357 of file Debugger.cpp.
Referenced by lldb_private::Target::GetREPL(), and RunREPL().
ScriptInterpreter * Debugger::GetScriptInterpreter | ( | bool | can_create = true , |
std::optional< lldb::ScriptLanguage > | language = {} |
||
) |
Definition at line 1719 of file Debugger.cpp.
References lldb_private::PluginManager::GetScriptInterpreterForLanguage(), GetScriptLanguage(), m_script_interpreter_mutex, and m_script_interpreters.
Referenced by lldb_private::ScriptInterpreterLua::BreakpointCallbackFunction(), CommandObjectScriptingObjectParsed::CommandObjectScriptingObjectParsed(), lldb_private::BreakpointOptions::CreateFromStructuredData(), CommandObjectScriptingObjectParsed::DoExecute(), CommandObjectCommandsScriptAdd::DoExecute(), CommandObjectFrameRecognizerAdd::DoExecute(), CommandObjectScriptingRun::DoExecute(), CommandObjectPythonFunction::DoExecute(), CommandObjectScriptingObjectRaw::DoExecute(), CommandObjectScriptingObjectRaw::GetHelp(), CommandObjectScriptingObjectParsed::GetHelp(), CommandObjectPythonFunction::GetHelpLong(), CommandObjectScriptingObjectRaw::GetHelpLong(), CommandObjectScriptingObjectParsed::GetHelpLong(), CommandObjectScriptingObjectRaw::GetRepeatCommand(), CommandObjectScriptingObjectParsed::GetRepeatCommand(), lldb_private::ScriptedThreadPlan::GetScriptInterpreter(), CommandObjectScriptingObjectParsed::HandleArgumentCompletion(), CommandObjectScriptingObjectParsed::CommandOptions::HandleOptionArgumentCompletion(), CommandObjectCommandsScriptAdd::IOHandlerInputComplete(), CommandObjectTypeSummaryAdd::IOHandlerInputComplete(), CommandObjectTypeSynthAdd::IOHandlerInputComplete(), lldb_private::CommandInterpreter::IOHandlerInterrupt(), lldb_private::Module::LoadScriptingResourceInTarget(), lldb_private::PlatformDarwin::LocateExecutableScriptingResources(), CommandObjectScriptingObjectParsed::CommandOptions::OptionParsingStarting(), CommandObjectTypeFilterAdd::CommandOptions::OptionParsingStarting(), lldb_private::process_gdb_remote::ProcessGDBRemote::ParsePythonTargetDefinition(), RunScriptFormatKeyword(), CommandObjectScriptingObjectParsed::CommandOptions::SetOptionValue(), and lldb_private::ScriptInterpreterLua::WatchpointCallbackFunction().
lldb::ScriptLanguage Debugger::GetScriptLanguage | ( | ) | const |
Definition at line 345 of file Debugger.cpp.
Referenced by CommandObjectScriptingRun::DoExecute(), GetScriptInterpreter(), lldb_private::Module::LoadScriptingResourceInTarget(), and lldb_private::PlatformDarwin::LocateExecutableScriptingResources().
ExecutionContext Debugger::GetSelectedExecutionContext | ( | ) |
Definition at line 1103 of file Debugger.cpp.
References GetSelectedTarget().
Referenced by lldb_private::CommandInterpreter::GetExecutionContext(), and lldb_private::CommandInterpreter::IOHandlerInputComplete().
Target & Debugger::GetSelectedOrDummyTarget | ( | bool | prefer_dummy = false | ) |
Definition at line 2218 of file Debugger.cpp.
References GetDummyTarget(), lldb_private::TargetList::GetSelectedTarget(), and m_target_list.
|
inline |
Definition at line 185 of file Debugger.h.
References lldb_private::TargetList::GetSelectedTarget(), and m_target_list.
Referenced by lldb_private::CommandCompletions::BreakpointNames(), lldb_private::CommandCompletions::Breakpoints(), CommandObjectPlatformStatus::DoExecute(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectPlatformProcessList::DoExecute(), CommandObjectPlatformProcessInfo::DoExecute(), CommandObjectProcessAttach::DoExecute(), CommandObjectProcessConnect::DoExecute(), CommandObjectProcessLaunch::DoExecute(), lldb_private::CommandObject::GetDefaultThread(), lldb::SBCommandInterpreter::GetProcess(), GetSelectedExecutionContext(), lldb_private::CommandObject::GetTarget(), lldb_private::Options::HandleOptionArgumentCompletion(), lldb_private::CommandCompletions::Modules(), lldb_private::CommandCompletions::SourceFiles(), lldb::SBCommandInterpreter::SourceInitFileInCurrentWorkingDirectory(), lldb::SBCommandInterpreter::SourceInitFileInGlobalDirectory(), lldb::SBCommandInterpreter::SourceInitFileInHomeDirectory(), and lldb_private::CommandCompletions::Symbols().
bool Debugger::GetShowDontUsePoHint | ( | ) | const |
Definition at line 487 of file Debugger.cpp.
bool Debugger::GetShowInlineDiagnostics | ( | ) | const |
Definition at line 616 of file Debugger.cpp.
Referenced by lldb_private::CommandInterpreter::IOHandlerInputComplete().
bool Debugger::GetShowProgress | ( | ) | const |
Definition at line 434 of file Debugger.cpp.
Referenced by HandleProgressEvent().
llvm::StringRef Debugger::GetShowProgressAnsiPrefix | ( | ) | const |
Definition at line 445 of file Debugger.cpp.
Referenced by HandleProgressEvent().
llvm::StringRef Debugger::GetShowProgressAnsiSuffix | ( | ) | const |
Definition at line 451 of file Debugger.cpp.
Referenced by HandleProgressEvent().
|
inline |
Definition at line 603 of file Debugger.h.
References m_source_file_cache.
Referenced by CommandObjectSourceCacheDump::DoExecute(), and CommandObjectSourceCacheClear::DoExecute().
SourceManager & Debugger::GetSourceManager | ( | ) |
Definition at line 1735 of file Debugger.cpp.
References m_source_manager_up.
Referenced by lldb_private::Disassembler::PrintInstructions().
|
static |
Definition at line 869 of file Debugger.cpp.
Referenced by lldb::SBDebugger::GetBroadcasterClass().
Debugger::StopDisassemblyType Debugger::GetStopDisassemblyDisplay | ( | ) | const |
Definition at line 551 of file Debugger.cpp.
Referenced by lldb_private::StackFrame::GetStatus().
uint64_t Debugger::GetStopDisassemblyMaxSize | ( | ) | const |
Definition at line 294 of file Debugger.cpp.
StopShowColumn Debugger::GetStopShowColumn | ( | ) | const |
Definition at line 513 of file Debugger.cpp.
Referenced by CommandObjectSourceList::DoExecute().
llvm::StringRef Debugger::GetStopShowColumnAnsiPrefix | ( | ) | const |
Definition at line 520 of file Debugger.cpp.
llvm::StringRef Debugger::GetStopShowColumnAnsiSuffix | ( | ) | const |
Definition at line 526 of file Debugger.cpp.
llvm::StringRef Debugger::GetStopShowLineMarkerAnsiPrefix | ( | ) | const |
Definition at line 532 of file Debugger.cpp.
llvm::StringRef Debugger::GetStopShowLineMarkerAnsiSuffix | ( | ) | const |
Definition at line 538 of file Debugger.cpp.
uint64_t Debugger::GetStopSourceLineCount | ( | bool | before | ) | const |
Definition at line 544 of file Debugger.cpp.
Referenced by lldb_private::StackFrame::GetStatus().
uint64_t Debugger::GetTabSize | ( | ) | const |
Definition at line 598 of file Debugger.cpp.
Referenced by lldb_private::REPL::GetIOHandler(), and lldb_private::REPL::IOHandlerFixIndentation().
|
inline |
Get accessor for the target list.
The target list is part of the global debugger object. This the single debugger shared instance to control where targets get created and to allow for tracking and searching for targets based on certain criteria.
Definition at line 198 of file Debugger.h.
References m_target_list.
Referenced by PlatformPOSIX::Attach(), lldb_private::PlatformWindows::Attach(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::Attach(), lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::CreateEmptyProcess(), lldb_private::TargetList::CreateTargetInternal(), lldb_private::Platform::DoConnectProcess(), CommandObjectTargetSelect::DoExecute(), CommandObjectTargetDelete::DoExecute(), CommandObjectProcessAttach::DoExecute(), CommandObjectTargetCreate::DoExecute(), lldb_private::Process::HandleProcessStateChangedEvent(), lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::LoadBundle(), lldb_private::DebuggerStats::ReportStatistics(), lldb_private::DebuggerStats::ResetStatistics(), and lldb_private::Target::SetLabel().
uint64_t Debugger::GetTerminalHeight | ( | ) | const |
Definition at line 383 of file Debugger.cpp.
uint64_t Debugger::GetTerminalWidth | ( | ) | const |
Definition at line 367 of file Debugger.cpp.
Referenced by lldb_private::CommandObjectDisassemble::DoExecute(), HandleProgressEvent(), lldb_private::CommandInterpreter::OutputFormattedHelpText(), and lldb_private::CommandInterpreter::OutputHelpText().
const FormatEntity::Entry * Debugger::GetThreadFormat | ( | ) | const |
Definition at line 335 of file Debugger.cpp.
Referenced by lldb_private::Thread::DumpUsingSettingsFormat().
|
static |
Shared thread pool. Use only with ThreadPoolTaskGroup.
Definition at line 2271 of file Debugger.cpp.
References g_thread_pool.
Referenced by lldb_private::SymbolLocator::DownloadSymbolFileAsync(), lldb_private::plugin::dwarf::ManualDWARFIndex::Index(), lldb_private::DynamicLoaderDarwin::PreloadModulesFromImageInfos(), and lldb_private::Target::SetExecutableModule().
const FormatEntity::Entry * Debugger::GetThreadStopFormat | ( | ) | const |
Definition at line 340 of file Debugger.cpp.
Referenced by lldb_private::Thread::DumpUsingSettingsFormat().
llvm::StringRef Debugger::GetTopIOHandlerControlSequence | ( | char | ch | ) |
Definition at line 1208 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetTopIOHandlerControlSequence(), and m_io_handler_stack.
Referenced by lldb::SBCommandInterpreter::GetIOHandlerControlSequence().
bool Debugger::GetUseAutosuggestion | ( | ) | const |
Definition at line 457 of file Debugger.cpp.
Referenced by lldb_private::IOHandlerEditline::IOHandlerEditline().
bool Debugger::GetUseColor | ( | ) | const |
Definition at line 421 of file Debugger.cpp.
Referenced by lldb_private::BreakpointOptions::BreakpointOptionsCallbackFunction(), lldb_private::FormatEntity::Format(), GetAsyncErrorStream(), GetAsyncOutputStream(), lldb_private::CommandInterpreter::GetIOHandler(), lldb_private::CommandInterpreter::GetLLDBCommandsFromIOHandler(), lldb_private::CommandInterpreter::GetPythonCommandsFromIOHandler(), lldb_private::CommandInterpreter::HandleCommands(), lldb_private::CommandInterpreter::HandleCommandsFromFile(), lldb_private::CommandObject::HandleCompletion(), HandleProgressEvent(), lldb_private::CommandInterpreter::Initialize(), lldb_private::REPL::IOHandlerInputComplete(), lldb_private::CommandInterpreter::IOHandlerInputComplete(), LookupSymbolInModule(), CommandObjectWatchpointCommandAdd::CommandOptions::OptionParsingStarting(), sddarwinlog_private::ParseAutoEnableOptions(), sddarwinlog_private::RunEnableCommand(), SetPrompt(), and SetPropertyValue().
bool Debugger::GetUseExternalEditor | ( | ) | const |
Definition at line 399 of file Debugger.cpp.
Referenced by lldb_private::Thread::GetStatus(), and lldb_private::Thread::SetSelectedFrameByIndexNoisily().
bool Debugger::GetUseSourceCache | ( | ) | const |
Definition at line 493 of file Debugger.cpp.
Referenced by SetPropertyValue().
|
protected |
Definition at line 1742 of file Debugger.cpp.
References GetAsyncOutputStream(), lldb_private::Breakpoint::BreakpointEventData::GetBreakpointEventTypeFromEvent(), lldb_private::Breakpoint::BreakpointEventData::GetBreakpointFromEvent(), and lldb_private::Breakpoint::BreakpointEventData::GetNumBreakpointLocationsFromEvent().
Referenced by DefaultEventHandler().
|
protected |
Definition at line 774 of file Debugger.cpp.
References lldb_private::Debugger::DestroyCallbackInfo::baton, lldb_private::Debugger::DestroyCallbackInfo::callback, lldb_private::UserID::GetID(), m_destroy_callback_mutex, and m_destroy_callbacks.
|
protected |
Definition at line 2163 of file Debugger.cpp.
References GetAsyncErrorStream(), and lldb_private::DiagnosticEventData::GetEventDataFromEvent().
Referenced by DefaultEventHandler().
|
protected |
Definition at line 1809 of file Debugger.cpp.
References lldb_private::Process::eBroadcastBitStateChanged, lldb_private::Process::eBroadcastBitSTDERR, lldb_private::Process::eBroadcastBitSTDOUT, lldb_private::Process::eBroadcastBitStructuredData, error(), lldb_private::StreamString::Flush(), FlushProcessOutput(), GetAsyncErrorStream(), GetAsyncOutputStream(), lldb_private::EventDataStructuredData::GetObjectFromEvent(), lldb_private::EventDataStructuredData::GetPluginFromEvent(), lldb_private::Process::ProcessEventData::GetProcessFromEvent(), lldb_private::EventDataStructuredData::GetProcessFromEvent(), lldb_private::Process::ProcessEventData::GetStateFromEvent(), lldb_private::StreamString::GetString(), lldb_private::Process::HandleProcessStateChangedEvent(), IsForwardingEvents(), lldb_private::Stream::PutChar(), SelectMostRelevantFrame, and lldb_private::StateIsStoppedState().
Referenced by DefaultEventHandler().
|
protected |
Definition at line 2078 of file Debugger.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::Events, lldb_private::ansi::FormatAnsiTerminalCodes(), GetAsyncOutputStream(), lldb_private::ProgressEventData::GetEventDataFromEvent(), lldb_private::UserID::GetID(), lldb_private::File::GetIsInteractive(), lldb_private::File::GetIsTerminalWithColors(), lldb_private::GetLog(), GetOutputFile(), GetShowProgress(), GetShowProgressAnsiPrefix(), GetShowProgressAnsiSuffix(), lldb_private::StreamString::GetString(), GetTerminalWidth(), GetUseColor(), lldb_private::Log::GetVerbose(), m_current_event_id, and lldb_private::Log::PutString().
Referenced by DefaultEventHandler().
|
protected |
Definition at line 1896 of file Debugger.cpp.
References lldb_private::Thread::eBroadcastBitStackChanged, lldb_private::Thread::eBroadcastBitThreadSelected, GetAsyncOutputStream(), and lldb_private::Thread::ThreadEventData::GetThreadFromEvent().
Referenced by DefaultEventHandler().
|
protected |
Definition at line 2172 of file Debugger.cpp.
References lldb_private::HostThread::IsJoinable(), and m_io_handler_thread.
Referenced by IsIOHandlerThreadCurrentThread(), JoinIOHandlerThread(), and lldb_private::REPL::RunLoop().
|
static |
Definition at line 636 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, g_debugger_list_ptr, g_load_plugin_callback, and g_thread_pool.
Referenced by lldb_private::SystemLifetimeManager::Initialize().
|
protected |
Definition at line 737 of file Debugger.cpp.
References lldb_private::PluginManager::DebuggerInitialize(), lldb_private::FileSystem::EnumerateDirectory(), lldb_private::FileSystem::Instance(), LoadPluginCallback(), and PATH_MAX.
bool Debugger::InterruptRequested | ( | ) |
Definition at line 1343 of file Debugger.cpp.
References GetCommandInterpreter(), IsIOHandlerThreadCurrentThread(), m_interrupt_mutex, m_interrupt_requested, and lldb_private::CommandInterpreter::WasInterrupted().
Referenced by InterruptRequested().
|
inline |
This is the correct way to query the state of Interruption.
If you are on the RunCommandInterpreter thread, it will check the command interpreter state, and if it is on another thread it will check the debugger Interrupt Request state.
[in] | cur_func | For reporting if the interruption was requested. Don't provide this by hand, use INTERRUPT_REQUESTED so this gets done consistently. |
[in] | formatv | A formatv string for the interrupt message. If the elements of the message are expensive to compute, you can use the no-argument form of InterruptRequested, then make up the report using REPORT_INTERRUPTION. |
Definition at line 437 of file Debugger.h.
References InterruptRequested(), and ReportInterruption().
Referenced by lldb::SBCommandInterpreter::WasInterrupted().
|
protected |
Definition at line 2072 of file Debugger.cpp.
References RunIOHandlers(), and StopEventHandlerThread().
Referenced by StartIOHandlerThread().
bool Debugger::IsForwardingEvents | ( | ) |
Definition at line 1913 of file Debugger.cpp.
References m_forward_listener_sp.
Referenced by HandleProcessEvent().
|
inline |
Definition at line 385 of file Debugger.h.
References lldb_private::HostThread::IsJoinable(), and m_event_handler_thread.
|
protected |
Definition at line 2212 of file Debugger.cpp.
References lldb_private::HostThread::EqualsThread(), lldb_private::Host::GetCurrentThread(), HasIOHandlerThread(), and m_io_handler_thread.
Referenced by InterruptRequested(), and lldb_private::CommandInterpreter::WasInterrupted().
bool Debugger::IsTopIOHandler | ( | const lldb::IOHandlerSP & | reader_sp | ) |
Definition at line 1190 of file Debugger.cpp.
References lldb_private::IOHandlerStack::IsTop(), and m_io_handler_stack.
Referenced by lldb_private::CommandInterpreter::IsActive(), and lldb_private::Process::ProcessIOHandlerIsActive().
|
protected |
Definition at line 2204 of file Debugger.cpp.
References HasIOHandlerThread(), lldb_private::HostThread::Join(), LLDB_INVALID_HOST_THREAD, and m_io_handler_thread.
Referenced by lldb_private::REPL::RunLoop().
Definition at line 675 of file Debugger.cpp.
References error(), lldb_private::Status::FromErrorString(), g_load_plugin_callback, and m_loaded_plugins.
Referenced by LoadPluginCallback().
|
protected |
Definition at line 1297 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetMutex(), lldb_private::IOHandlerStack::IsEmpty(), m_io_handler_stack, lldb_private::IOHandlerStack::Pop(), and lldb_private::IOHandlerStack::Top().
Referenced by ClearIOHandlers(), RemoveIOHandler(), RunIOHandlers(), and RunIOHandlerSync().
void Debugger::PrintAsync | ( | const char * | s, |
size_t | len, | ||
bool | is_stdout | ||
) |
Definition at line 1199 of file Debugger.cpp.
References m_error_stream_sp, m_io_handler_stack, m_output_stream_sp, and lldb_private::IOHandlerStack::PrintAsync().
Referenced by lldb_private::StreamAsynchronousIO::Flush().
|
protected |
|
protected |
Definition at line 1270 of file Debugger.cpp.
References lldb_private::IOHandlerStack::GetMutex(), m_io_handler_stack, lldb_private::IOHandlerStack::Push(), and lldb_private::IOHandlerStack::Top().
Referenced by RunIOHandlerAsync(), and RunIOHandlerSync().
bool Debugger::RemoveDestroyCallback | ( | lldb::callback_token_t | token | ) |
Remove the specified callback. Return true if successful.
Definition at line 1492 of file Debugger.cpp.
References m_destroy_callback_mutex, and m_destroy_callbacks.
bool Debugger::RemoveIOHandler | ( | const lldb::IOHandlerSP & | reader_sp | ) |
Remove the given IO handler if it's currently active.
Definition at line 1220 of file Debugger.cpp.
References PopIOHandler().
Referenced by lldb_private::Process::PopProcessIOHandler().
|
staticprotected |
Definition at line 1581 of file Debugger.cpp.
References lldb_private::Diagnostics::Enabled(), lldb::eSeverityInfo, FindDebuggerWithID(), g_debugger_list_mutex_ptr, g_debugger_list_ptr, lldb_private::Diagnostics::Instance(), PrivateReportDiagnostic(), lldb_private::Diagnostics::Report(), and lldb_private::Host::SystemLog().
Referenced by ReportError(), ReportInfo(), and ReportWarning().
|
static |
Report error events.
Error events will be delivered to any debuggers that have listeners for the eBroadcastBitError.
[in] | message | The error message to be reported. |
[in] | debugger_id | If this optional parameter has a value, it indicates the unique debugger identifier that this diagnostic should be delivered to. If this optional parameter does not have a value, the diagnostic event will be delivered to all debuggers. |
[in] | once | If a pointer is passed to a std::once_flag, then it will be used to ensure the given error is only broadcast once. |
Definition at line 1628 of file Debugger.cpp.
References lldb::eSeverityError, and ReportDiagnosticImpl().
Referenced by AssertCallback(), lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo(), lldb_private::TargetProperties::CheckJITObjectsDir(), lldb_private::StructuredDataDarwinLog::EnableNow(), lldb_private::Function::GetBlock(), lldb_private::DWARFCallFrameInfo::GetFDEIndex(), lldb_private::Options::GetLongOptions(), lldb_private::PlatformMacOSX::GetSDKDirectory(), MachSymtabSectionInfo::GetSection(), GetXcodeSDKDir(), lldb_private::DWARFCallFrameInfo::ParseCIE(), ObjectFileMachO::ParseSymtab(), lldb_private::StopInfoBreakpoint::PerformAction(), lldb_private::StopInfoWatchpoint::PerformAction(), lldb_private::Module::RegisterXcodeSDK(), lldb_private::Module::ReportError(), lldb_private::Module::ReportErrorIfModifyDetected(), and lldb_private::CompactUnwindInfo::ScanIndex().
|
static |
Report info events.
Unlike warning and error events, info events are not broadcast but are logged for diagnostic purposes.
[in] | message | The info message to be reported. |
[in] | debugger_id | If this optional parameter has a value, it indicates this diagnostic is associated with a unique debugger instance. |
[in] | once | If a pointer is passed to a std::once_flag, then it will be used to ensure the given info is only logged once. |
Definition at line 1634 of file Debugger.cpp.
References lldb::eSeverityInfo, and ReportDiagnosticImpl().
void Debugger::ReportInterruption | ( | const InterruptionReport & | report | ) |
Definition at line 1364 of file Debugger.cpp.
References lldb_private::GetLog(), lldb_private::Host, LLDB_LOG, and lldb_private::Debugger::InterruptionReport::m_description.
Referenced by InterruptRequested().
|
staticprotected |
Report progress events.
Progress events will be delivered to any debuggers that have listeners for the eBroadcastBitProgress. This function is called by the lldb_private::Progress class to deliver the events to any debuggers that qualify.
[in] | progress_id | The unique integer identifier for the progress to report. |
[in] | message | The title of the progress dialog to display in the UI. |
[in] | completed | The amount of work completed. If completed is zero, then this event is a progress started event. If completed is equal to total, then this event is a progress end event. Otherwise completed indicates the current progress compare to the total value. |
[in] | total | The total amount of work units that need to be completed. If this value is UINT64_MAX, then an indeterminate progress indicator should be displayed. |
[in] | debugger_id | If this optional parameter has a value, it indicates the unique debugger identifier that this progress should be delivered to. If this optional parameter does not have a value, the progress will be delivered to all debuggers. |
Definition at line 1520 of file Debugger.cpp.
References FindDebuggerWithID(), g_debugger_list_mutex_ptr, g_debugger_list_ptr, and PrivateReportProgress().
Referenced by lldb_private::Progress::ReportProgress(), and lldb_private::ProgressManager::ReportProgress().
|
static |
Definition at line 1640 of file Debugger.cpp.
References lldb::eBroadcastSymbolChange, g_debugger_list_mutex_ptr, and g_debugger_list_ptr.
Referenced by lldb_private::SymbolLocator::DownloadSymbolFileAsync().
|
static |
Report warning events.
Warning events will be delivered to any debuggers that have listeners for the eBroadcastBitWarning.
[in] | message | The warning message to be reported. |
[in] | debugger_id | If this optional parameter has a value, it indicates the unique debugger identifier that this diagnostic should be delivered to. If this optional parameter does not have a value, the diagnostic event will be delivered to all debuggers. |
[in] | once | If a pointer is passed to a std::once_flag, then it will be used to ensure the given warning is only broadcast once. |
Definition at line 1622 of file Debugger.cpp.
References lldb::eSeverityWarning, and ReportDiagnosticImpl().
Referenced by lldb_private::TypeSystemClang::CreateASTContext(), lldb_private::SourceManager::DisplaySourceLinesWithLineNumbersUsingLastFile(), lldb_private::minidump::ProcessMinidump::DoLoadCore(), lldb_private::MemoryHistoryASan::GetHistoryThreads(), lldb_private::SymbolContext::GetParentOfInlinedScope(), DynamicLoaderMacOS::NotifyBreakpointHit(), DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(), lldb_private::StopInfoBreakpoint::PerformAction(), lldb_private::Module::ReportWarning(), lldb_private::Module::ReportWarningOptimization(), lldb_private::Module::ReportWarningUnsupportedLanguage(), lldb_private::ReportRetriever::RetrieveReportData(), lldb_private::InstrumentationRuntimeTSan::RetrieveReportData(), lldb_private::InstrumentationRuntimeUBSan::RetrieveReportData(), lldb_private::DynamicLoaderDarwin::UnloadModuleSections(), lldb_private::AppleObjCRuntimeV2::WarnIfNoClassesCached(), and lldb_private::AppleObjCRuntimeV2::WarnIfNoExpandedSharedCache().
void Debugger::RequestInterrupt | ( | ) |
Interruption in LLDB:
This is a voluntary interruption mechanism, not preemptive. Parts of lldb that do work that can be safely interrupted call Debugger::InterruptRequested and if that returns true, they should return at a safe point, shortcutting the rest of the work they were to do.
lldb clients can both offer a CommandInterpreter (through RunCommandInterpreter) and use the SB API's for their own purposes, so it is convenient to separate "interrupting the CommandInterpreter execution" and interrupting the work it is doing with the SB API's. So there are two ways to cause an interrupt:
Since the two checks are mutually exclusive, however, it's also convenient to have just one function to check the interrupt state. Bump the "interrupt requested" count on the debugger to support cooperative interruption. If this is non-zero, InterruptRequested will return true. Interruptible operations are expected to query the InterruptRequested API periodically, and interrupt what they were doing if it returns true.
Definition at line 1332 of file Debugger.cpp.
References m_interrupt_mutex, and m_interrupt_requested.
void Debugger::RestoreInputTerminalState | ( | ) |
Definition at line 1101 of file Debugger.cpp.
References m_terminal_state, and lldb_private::TerminalState::Restore().
void Debugger::RunIOHandlerAsync | ( | const lldb::IOHandlerSP & | reader_sp, |
bool | cancel_top_handler = true |
||
) |
Run the given IO handler and return immediately.
Definition at line 1224 of file Debugger.cpp.
References PushIOHandler().
Referenced by lldb_private::ScriptInterpreterLua::CollectDataForBreakpointCommandCallback(), lldb_private::ScriptInterpreterLua::CollectDataForWatchpointCommandCallback(), lldb_private::CommandObjectGUI::DoExecute(), lldb_private::ScriptInterpreterLua::ExecuteInterpreterLoop(), lldb_private::CommandInterpreter::GetLLDBCommandsFromIOHandler(), lldb_private::CommandInterpreter::GetPythonCommandsFromIOHandler(), lldb_private::REPL::IOHandlerInputComplete(), lldb_private::Process::PushProcessIOHandler(), lldb_private::CommandInterpreter::RunCommandInterpreter(), and lldb_private::REPL::RunLoop().
void Debugger::RunIOHandlers | ( | ) |
Definition at line 1134 of file Debugger.cpp.
References ClearIOHandlers(), m_io_handler_stack, m_io_handler_synchronous_mutex, PopIOHandler(), and lldb_private::IOHandlerStack::Top().
Referenced by IOHandlerThread(), and lldb_private::CommandInterpreter::RunCommandInterpreter().
void Debugger::RunIOHandlerSync | ( | const lldb::IOHandlerSP & | reader_sp | ) |
Run the given IO handler and block until it's complete.
Definition at line 1159 of file Debugger.cpp.
References m_io_handler_stack, m_io_handler_synchronous_mutex, PopIOHandler(), PushIOHandler(), and lldb_private::IOHandlerStack::Top().
Referenced by lldb_private::CommandInterpreter::Confirm(), and lldb_private::CommandInterpreter::HandleCommandsFromFile().
Status Debugger::RunREPL | ( | lldb::LanguageType | language, |
const char * | repl_options | ||
) |
Definition at line 2226 of file Debugger.cpp.
References lldb_private::REPL::Create(), lldb::eLanguageTypeUnknown, lldb_private::LanguageSet::Empty(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Language::GetLanguagesSupportingREPLs(), lldb_private::Language::GetNameForLanguageType(), GetREPLLanguage(), lldb_private::LanguageSet::GetSingularLanguage(), and lldb_private::Status::Success().
void Debugger::SaveInputTerminalState | ( | ) |
Definition at line 1095 of file Debugger.cpp.
References lldb_private::File::GetDescriptor(), GetInputFile(), lldb_private::File::kInvalidDescriptor, m_terminal_state, and lldb_private::TerminalState::Save().
Referenced by SetInputFile().
void Debugger::SetAsyncExecution | ( | bool | async | ) |
Definition at line 1018 of file Debugger.cpp.
References m_command_interpreter_up.
Referenced by CommandObjectProcessContinue::DoExecute(), lldb_private::CommandInterpreter::HandleCommands(), lldb_private::CommandInterpreter::HandleCommandsFromFile(), lldb_private::Target::StopHookCommandLine::HandleStop(), lldb_private::StopInfoBreakpoint::PerformAction(), and lldb_private::StopInfoWatchpoint::PerformAction().
bool Debugger::SetAutoIndent | ( | bool | b | ) |
Definition at line 582 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
void Debugger::SetDestroyCallback | ( | lldb_private::DebuggerDestroyCallback | destroy_callback, |
void * | baton | ||
) |
DEPRECATED: We used to only support one Destroy callback.
Now that we support Add and Remove, you should only remove callbacks that you added. Use Add and Remove instead.
Clear all previously added callbacks and only add the given one.
Definition at line 1476 of file Debugger.cpp.
References m_destroy_callback_mutex, m_destroy_callback_next_token, and m_destroy_callbacks.
void Debugger::SetErrorFile | ( | lldb::FileSP | file | ) |
Definition at line 1090 of file Debugger.cpp.
References m_error_stream_sp.
bool Debugger::SetExternalEditor | ( | llvm::StringRef | editor | ) |
Definition at line 416 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
void Debugger::SetInputFile | ( | lldb::FileSP | file | ) |
Definition at line 1077 of file Debugger.cpp.
References m_input_file_sp, and SaveInputTerminalState().
Referenced by SetInputString().
Status Debugger::SetInputString | ( | const char * | data | ) |
Definition at line 1033 of file Debugger.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), OpenPipe(), READ, SetInputFile(), and WRITE.
|
protected |
Definition at line 2176 of file Debugger.cpp.
References m_io_handler_thread.
Referenced by lldb_private::CommandInterpreter::RunCommandInterpreter().
void Debugger::SetLoggingCallback | ( | lldb::LogOutputCallback | log_callback, |
void * | baton | ||
) |
Definition at line 1467 of file Debugger.cpp.
References m_callback_handler_sp.
void Debugger::SetOutputFile | ( | lldb::FileSP | file | ) |
Definition at line 1085 of file Debugger.cpp.
References m_output_stream_sp.
bool Debugger::SetPrintDecls | ( | bool | b | ) |
Definition at line 593 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
|
delete |
void Debugger::SetPrompt | ( | llvm::StringRef | p | ) |
Definition at line 324 of file Debugger.cpp.
References lldb_private::ansi::FormatAnsiTerminalCodes(), GetCommandInterpreter(), GetPrompt(), GetUseColor(), lldb_private::Properties::SetPropertyAtIndex(), and lldb_private::CommandInterpreter::UpdatePrompt().
Referenced by SetPropertyValue(), and SetUseColor().
|
overridevirtual |
Reimplemented from lldb_private::Properties.
Definition at line 200 of file Debugger.cpp.
References lldb_private::Broadcaster::BroadcastEvent(), lldb_private::SourceManager::SourceFileCache::Clear(), lldb_private::CommandInterpreter::eBroadcastBitResetPrompt, lldb_private::eLoadScriptFromSymFileFalse, lldb_private::eLoadScriptFromSymFileTrue, lldb_private::eLoadScriptFromSymFileWarn, error(), lldb_private::DataVisualization::ForceUpdate(), lldb_private::ansi::FormatAnsiTerminalCodes(), GetCommandInterpreter(), GetErrorStream(), GetPrompt(), lldb_private::StreamString::GetSize(), lldb_private::StreamString::GetString(), lldb_private::ExecutionContext::GetTargetSP(), GetUseColor(), GetUseSourceCache(), m_source_file_cache, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), SetPrompt(), lldb_private::Properties::SetPropertyValue(), and lldb_private::CommandInterpreter::UpdatePrompt().
bool Debugger::SetREPLLanguage | ( | lldb::LanguageType | repl_lang | ) |
Definition at line 362 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::SetScriptLanguage | ( | lldb::ScriptLanguage | script_lang | ) |
Definition at line 352 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::SetShowInlineDiagnostics | ( | bool | b | ) |
Definition at line 622 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::SetShowProgress | ( | bool | show_progress | ) |
Definition at line 440 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
Referenced by lldb_private::REPL::REPL().
bool Debugger::SetTabSize | ( | uint64_t | tab_size | ) |
Definition at line 604 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::SetTerminalHeight | ( | uint64_t | term_height | ) |
Definition at line 389 of file Debugger.cpp.
References m_io_handler_stack, lldb_private::Properties::SetPropertyAtIndex(), and lldb_private::IOHandlerStack::Top().
bool Debugger::SetTerminalWidth | ( | uint64_t | term_width | ) |
Definition at line 373 of file Debugger.cpp.
References m_io_handler_stack, lldb_private::Properties::SetPropertyAtIndex(), and lldb_private::IOHandlerStack::Top().
|
static |
Definition at line 671 of file Debugger.cpp.
References lldb_private::Target::SettingsInitialize().
Referenced by lldb_private::SystemInitializerFull::Initialize().
|
static |
Definition at line 673 of file Debugger.cpp.
References lldb_private::Target::SettingsTerminate().
Referenced by lldb_private::SystemInitializerFull::Terminate().
bool Debugger::SetUseColor | ( | bool | use_color | ) |
Definition at line 427 of file Debugger.cpp.
References GetPrompt(), SetPrompt(), and lldb_private::Properties::SetPropertyAtIndex().
Referenced by Debugger().
bool Debugger::SetUseExternalEditor | ( | bool | use_external_editor_p | ) |
Definition at line 405 of file Debugger.cpp.
References lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::SetUseSourceCache | ( | bool | use_source_cache | ) |
Definition at line 499 of file Debugger.cpp.
References lldb_private::SourceManager::SourceFileCache::Clear(), m_source_file_cache, and lldb_private::Properties::SetPropertyAtIndex().
bool Debugger::StartEventHandlerThread | ( | ) |
Manually start the global event handler thread.
It is useful to plugins that directly use the lldb_private namespace and want to use the debugger's default event handler thread instead of defining their own.
Definition at line 2024 of file Debugger.cpp.
References lldb_private::ConstString::AsCString(), DefaultEventHandler(), eBroadcastBitEventThreadIsListening, g_debugger_event_thread_stack_bytes, lldb_private::ConstString::GetLength(), lldb_private::GetLog(), lldb_private::ConstString::GetStringRef(), lldb_private::Host, lldb_private::HostThread::IsJoinable(), lldb_private::ThreadLauncher::LaunchThread(), LLDB_LOG_ERROR, m_event_handler_thread, m_sync_broadcaster, and lldb_private::Listener::MakeListener().
Referenced by lldb_private::CommandInterpreter::RunCommandInterpreter().
|
protected |
Definition at line 2182 of file Debugger.cpp.
References lldb_private::GetLog(), lldb_private::Host, IOHandlerThread(), lldb_private::HostThread::IsJoinable(), lldb_private::ThreadLauncher::LaunchThread(), LLDB_LOG_ERROR, and m_io_handler_thread.
Referenced by lldb_private::CommandInterpreter::RunCommandInterpreter(), and lldb_private::REPL::RunLoop().
void Debugger::StopEventHandlerThread | ( | ) |
Manually stop the debugger's default event handler.
Definition at line 2064 of file Debugger.cpp.
References lldb_private::Broadcaster::BroadcastEvent(), lldb_private::CommandInterpreter::eBroadcastBitQuitCommandReceived, GetCommandInterpreter(), lldb_private::HostThread::IsJoinable(), lldb_private::HostThread::Join(), and m_event_handler_thread.
Referenced by Clear(), IOHandlerThread(), and lldb_private::CommandInterpreter::RunCommandInterpreter().
|
protected |
Definition at line 2197 of file Debugger.cpp.
References lldb_private::File::Close(), GetInputFile(), lldb_private::HostThread::IsJoinable(), lldb_private::HostThread::Join(), and m_io_handler_thread.
Referenced by Clear().
|
static |
Definition at line 645 of file Debugger.cpp.
References g_debugger_list_mutex_ptr, g_debugger_list_ptr, and g_thread_pool.
Referenced by lldb_private::SystemLifetimeManager::Terminate().
|
friend |
Definition at line 608 of file Debugger.h.
|
friend |
Definition at line 610 of file Debugger.h.
|
friend |
Definition at line 611 of file Debugger.h.
|
friend |
Definition at line 609 of file Debugger.h.
|
staticprotected |
Definition at line 736 of file Debugger.h.
Referenced by Initialize(), and LoadPlugin().
|
protected |
Public Debugger event broadcaster.
Definition at line 742 of file Debugger.h.
Referenced by DefaultEventHandler(), and GetBroadcaster().
|
protected |
Definition at line 702 of file Debugger.h.
Referenced by Clear(), DefaultEventHandler(), and GetBroadcasterManager().
|
protected |
Definition at line 734 of file Debugger.h.
Referenced by Debugger(), EnableLog(), and SetLoggingCallback().
|
protected |
Definition at line 744 of file Debugger.h.
Referenced by Clear().
|
protected |
Definition at line 722 of file Debugger.h.
Referenced by Clear(), Debugger(), DefaultEventHandler(), GetAsyncExecution(), GetCommandInterpreter(), and SetAsyncExecution().
|
protected |
Definition at line 731 of file Debugger.h.
Referenced by HandleProgressEvent().
|
protected |
Definition at line 748 of file Debugger.h.
Referenced by AddDestroyCallback(), HandleDestroyCallback(), RemoveDestroyCallback(), and SetDestroyCallback().
|
protected |
Definition at line 749 of file Debugger.h.
Referenced by AddDestroyCallback(), and SetDestroyCallback().
|
protected |
Definition at line 760 of file Debugger.h.
Referenced by AddDestroyCallback(), HandleDestroyCallback(), RemoveDestroyCallback(), and SetDestroyCallback().
|
protected |
Definition at line 746 of file Debugger.h.
Referenced by Clear(), and Debugger().
|
protected |
Definition at line 745 of file Debugger.h.
Referenced by Debugger(), and GetDummyTarget().
|
protected |
Definition at line 697 of file Debugger.h.
Referenced by GetErrorFile(), GetErrorStream(), GetErrorStreamSP(), PrintAsync(), and SetErrorFile().
|
protected |
Definition at line 739 of file Debugger.h.
Referenced by IsHandlingEvents(), StartEventHandlerThread(), and StopEventHandlerThread().
|
protected |
Definition at line 743 of file Debugger.h.
Referenced by CancelForwardEvents(), DefaultEventHandler(), EnableForwardEvents(), and IsForwardingEvents().
|
protected |
Definition at line 695 of file Debugger.h.
Referenced by GetInputFile(), GetInputFileSP(), and SetInputFile().
|
protected |
Used for shadowing the input file when capturing a reproducer.
Definition at line 700 of file Debugger.h.
Referenced by GetInputRecorder().
|
protected |
Definition at line 735 of file Debugger.h.
Referenced by GetInstanceName().
|
protected |
Definition at line 763 of file Debugger.h.
Referenced by CancelInterruptRequest(), InterruptRequested(), and RequestInterrupt().
|
protected |
Tracks interrupt requests.
Definition at line 762 of file Debugger.h.
Referenced by CancelInterruptRequest(), InterruptRequested(), and RequestInterrupt().
|
protected |
Definition at line 728 of file Debugger.h.
Referenced by AdoptTopIOHandlerFilesIfInvalid(), CheckTopIOHandlerTypes(), ClearIOHandlers(), DispatchInputEndOfFile(), DispatchInputInterrupt(), GetIOHandlerCommandPrefix(), GetIOHandlerHelpPrologue(), GetTopIOHandlerControlSequence(), IsTopIOHandler(), PopIOHandler(), PrintAsync(), PushIOHandler(), RunIOHandlers(), RunIOHandlerSync(), SetTerminalHeight(), and SetTerminalWidth().
|
protected |
Definition at line 729 of file Debugger.h.
Referenced by RunIOHandlers(), and RunIOHandlerSync().
|
protected |
Definition at line 740 of file Debugger.h.
Referenced by HasIOHandlerThread(), IsIOHandlerThreadCurrentThread(), JoinIOHandlerThread(), SetIOHandlerThread(), StartIOHandlerThread(), and StopIOHandlerThread().
|
protected |
Definition at line 712 of file Debugger.h.
Referenced by Clear(), and GetListener().
|
protected |
Definition at line 738 of file Debugger.h.
Referenced by LoadPlugin().
|
protected |
Definition at line 690 of file Debugger.h.
Referenced by FlushProcessOutput().
|
protected |
Definition at line 696 of file Debugger.h.
Referenced by GetOutputFile(), GetOutputStream(), GetOutputStreamSP(), PrintAsync(), and SetOutputFile().
|
protected |
Definition at line 711 of file Debugger.h.
Referenced by Debugger(), and GetPlatformList().
|
protected |
Definition at line 724 of file Debugger.h.
Referenced by GetScriptInterpreter().
|
protected |
Definition at line 726 of file Debugger.h.
Referenced by GetScriptInterpreter().
|
protected |
Definition at line 717 of file Debugger.h.
Referenced by GetSourceFileCache(), SetPropertyValue(), and SetUseSourceCache().
|
protected |
Definition at line 713 of file Debugger.h.
Referenced by GetSourceManager().
|
protected |
Definition at line 733 of file Debugger.h.
Referenced by Debugger(), and EnableLog().
|
protected |
Private debugger synchronization.
Definition at line 741 of file Debugger.h.
Referenced by DefaultEventHandler(), and StartEventHandlerThread().
|
protected |
Definition at line 709 of file Debugger.h.
Referenced by Clear(), GetSelectedOrDummyTarget(), GetSelectedTarget(), and GetTargetList().
|
protected |
Definition at line 708 of file Debugger.h.
Referenced by Clear(), RestoreInputTerminalState(), and SaveInputTerminalState().