LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
lldb_private::Debugger Class Reference

A class to manage flag bits. More...

#include "lldb/Core/Debugger.h"

Inheritance diagram for lldb_private::Debugger:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::Debugger:
Collaboration graph
[legend]

Public Types

enum  StopDisassemblyType { eStopDisassemblyTypeNever = 0, eStopDisassemblyTypeNoDebugInfo, eStopDisassemblyTypeNoSource, eStopDisassemblyTypeAlways }
 

Public Member Functions

 ~Debugger () override
 
void Clear ()
 
bool GetAsyncExecution ()
 
void SetAsyncExecution (bool async)
 
lldb::StreamFileSP GetInputFile ()
 
lldb::StreamFileSP GetOutputFile ()
 
lldb::StreamFileSP GetErrorFile ()
 
repro::DataRecorderGetInputRecorder ()
 
void SetInputFileHandle (FILE *fh, bool tranfer_ownership, repro::DataRecorder *recorder=nullptr)
 
void SetOutputFileHandle (FILE *fh, bool tranfer_ownership)
 
void SetErrorFileHandle (FILE *fh, bool tranfer_ownership)
 
void SaveInputTerminalState ()
 
void RestoreInputTerminalState ()
 
lldb::StreamSP GetAsyncOutputStream ()
 
lldb::StreamSP GetAsyncErrorStream ()
 
CommandInterpreterGetCommandInterpreter ()
 
ScriptInterpreterGetScriptInterpreter (bool can_create=true)
 
lldb::ListenerSP GetListener ()
 
SourceManagerGetSourceManager ()
 
lldb::TargetSP GetSelectedTarget ()
 
ExecutionContext GetSelectedExecutionContext ()
 
TargetListGetTargetList ()
 Get accessor for the target list. More...
 
PlatformListGetPlatformList ()
 
void DispatchInputInterrupt ()
 
void DispatchInputEndOfFile ()
 
void AdoptTopIOHandlerFilesIfInvalid (lldb::StreamFileSP &in, lldb::StreamFileSP &out, lldb::StreamFileSP &err)
 
void PushIOHandler (const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler=true)
 
bool PopIOHandler (const lldb::IOHandlerSP &reader_sp)
 
void RunIOHandler (const lldb::IOHandlerSP &reader_sp)
 
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)
 
ConstString GetTopIOHandlerControlSequence (char ch)
 
const char * GetIOHandlerCommandPrefix ()
 
const char * GetIOHandlerHelpPrologue ()
 
void ClearIOHandlers ()
 
bool GetCloseInputOnEOF () const
 
void SetCloseInputOnEOF (bool b)
 
bool EnableLog (llvm::StringRef channel, llvm::ArrayRef< const char *> categories, llvm::StringRef log_file, uint32_t log_options, 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::EntryGetDisassemblyFormat () const
 
const FormatEntity::EntryGetFrameFormat () const
 
const FormatEntity::EntryGetFrameFormatUnique () const
 
const FormatEntity::EntryGetThreadFormat () const
 
const FormatEntity::EntryGetThreadStopFormat () const
 
lldb::ScriptLanguage GetScriptLanguage () const
 
bool SetScriptLanguage (lldb::ScriptLanguage script_lang)
 
uint32_t GetTerminalWidth () const
 
bool SetTerminalWidth (uint32_t term_width)
 
llvm::StringRef GetPrompt () const
 
void SetPrompt (llvm::StringRef p)
 
void SetPrompt (const char *)=delete
 
llvm::StringRef GetReproducerPath () const
 
bool GetUseExternalEditor () const
 
bool SetUseExternalEditor (bool use_external_editor_p)
 
bool GetUseColor () const
 
bool SetUseColor (bool use_color)
 
bool GetHighlightSource () const
 
lldb::StopShowColumn GetStopShowColumn () const
 
llvm::StringRef GetStopShowColumnAnsiPrefix () const
 
llvm::StringRef GetStopShowColumnAnsiSuffix () const
 
uint32_t GetStopSourceLineCount (bool before) const
 
StopDisassemblyType GetStopDisassemblyDisplay () const
 
uint32_t GetDisassemblyLineCount () const
 
bool GetAutoOneLineSummaries () const
 
bool GetAutoIndent () const
 
bool SetAutoIndent (bool b)
 
bool GetPrintDecls () const
 
bool SetPrintDecls (bool b)
 
uint32_t GetTabSize () const
 
bool SetTabSize (uint32_t tab_size)
 
bool GetEscapeNonPrintables () const
 
bool GetNotifyVoid () const
 
ConstString GetInstanceName ()
 
bool LoadPlugin (const FileSpec &spec, Status &error)
 
void ExecuteIOHandlers ()
 
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)
 
TargetGetSelectedOrDummyTarget (bool prefer_dummy=false)
 
TargetGetDummyTarget ()
 
lldb::BroadcasterManagerSP GetBroadcasterManager ()
 
- Public Member Functions inherited from lldb_private::UserID
 UserID (lldb::user_id_t uid=LLDB_INVALID_UID)
 Construct with optional user ID. More...
 
 ~UserID ()
 Destructor. More...
 
void Clear ()
 Clears the object state. More...
 
lldb::user_id_t GetID () const
 Get accessor for the user ID. More...
 
void SetID (lldb::user_id_t uid)
 Set accessor for the user ID. More...
 
- 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, bool will_modify, Status &error) const
 
virtual Status DumpPropertyValue (const ExecutionContext *exe_ctx, Stream &strm, llvm::StringRef property_path, uint32_t dump_mask)
 
virtual void DumpAllPropertyValues (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask)
 
virtual void DumpAllDescriptions (CommandInterpreter &interpreter, Stream &strm) const
 
size_t Apropos (llvm::StringRef keyword, std::vector< const Property *> &matching_properties) const
 
lldb::OptionValuePropertiesSP GetSubProperty (const ExecutionContext *exe_ctx, ConstString name)
 

Static Public Member Functions

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 (ConstString 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 Public Member Functions inherited from lldb_private::Properties
static const char * GetExperimentalSettingsName ()
 
static bool IsSettingExperimental (llvm::StringRef setting)
 

Protected Types

enum  { eBroadcastBitEventThreadIsListening = (1 << 0) }
 
typedef std::vector< llvm::sys::DynamicLibrary > LoadedPluginsList
 

Protected Member Functions

bool StartEventHandlerThread ()
 
void StopEventHandlerThread ()
 
bool HasIOHandlerThread ()
 
bool StartIOHandlerThread ()
 
void StopIOHandlerThread ()
 
void JoinIOHandlerThread ()
 
void DefaultEventHandler ()
 
void HandleBreakpointEvent (const lldb::EventSP &event_sp)
 
void HandleProcessEvent (const lldb::EventSP &event_sp)
 
void HandleThreadEvent (const lldb::EventSP &event_sp)
 
size_t GetProcessSTDOUT (Process *process, Stream *stream)
 
size_t GetProcessSTDERR (Process *process, Stream *stream)
 
SourceManager::SourceFileCacheGetSourceFileCache ()
 
void InstanceInitialize ()
 

Static Protected Member Functions

static lldb::thread_result_t EventHandlerThread (lldb::thread_arg_t arg)
 
static lldb::thread_result_t IOHandlerThread (lldb::thread_arg_t arg)
 

Protected Attributes

lldb::StreamFileSP m_input_file_sp
 
lldb::StreamFileSP m_output_file_sp
 
lldb::StreamFileSP m_error_file_sp
 
repro::DataRecorderm_input_recorder
 Used for shadowing the input file when capturing a reproducer. More...
 
lldb::BroadcasterManagerSP m_broadcaster_manager_sp
 
TerminalState m_terminal_state
 
TargetList m_target_list
 
PlatformList m_platform_list
 
lldb::ListenerSP m_listener_sp
 
std::unique_ptr< SourceManagerm_source_manager_up
 
SourceManager::SourceFileCache m_source_file_cache
 
std::unique_ptr< CommandInterpreterm_command_interpreter_up
 
lldb::ScriptInterpreterSP m_script_interpreter_sp
 
std::recursive_mutex m_script_interpreter_mutex
 
IOHandlerStack m_input_reader_stack
 
llvm::StringMap< std::weak_ptr< llvm::raw_ostream > > m_log_streams
 
std::shared_ptr< llvm::raw_ostream > m_log_callback_stream_sp
 
ConstString m_instance_name
 
LoadedPluginsList m_loaded_plugins
 
HostThread m_event_handler_thread
 
HostThread m_io_handler_thread
 
Broadcaster m_sync_broadcaster
 
lldb::ListenerSP m_forward_listener_sp
 
llvm::once_flag m_clear_once
 
- Protected Attributes inherited from lldb_private::UserID
lldb::user_id_t m_uid
 The user ID that uniquely identifies an object. More...
 
- Protected Attributes inherited from lldb_private::Properties
lldb::OptionValuePropertiesSP m_collection_sp
 

Static Protected Attributes

static LoadPluginCallbackType g_load_plugin_callback = nullptr
 

Friends

class SourceManager
 
class CommandInterpreter
 
class REPL
 

Detailed Description

A class to manage flag bits.

Provides a global root objects for the debugger core.

Definition at line 82 of file Debugger.h.

Member Typedef Documentation

◆ LoadedPluginsList

typedef std::vector<llvm::sys::DynamicLibrary> lldb_private::Debugger::LoadedPluginsList
protected

Definition at line 408 of file Debugger.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
eBroadcastBitEventThreadIsListening 

Definition at line 417 of file Debugger.h.

◆ StopDisassemblyType

Enumerator
eStopDisassemblyTypeNever 
eStopDisassemblyTypeNoDebugInfo 
eStopDisassemblyTypeNoSource 
eStopDisassemblyTypeAlways 

Definition at line 229 of file Debugger.h.

Constructor & Destructor Documentation

◆ ~Debugger()

Debugger::~Debugger ( )
override

Definition at line 824 of file Debugger.cpp.

Member Function Documentation

◆ AdoptTopIOHandlerFilesIfInvalid()

void Debugger::AdoptTopIOHandlerFilesIfInvalid ( lldb::StreamFileSP &  in,
lldb::StreamFileSP &  out,
lldb::StreamFileSP &  err 
)

◆ CancelForwardEvents()

void Debugger::CancelForwardEvents ( const lldb::ListenerSP &  listener_sp)

Definition at line 1525 of file Debugger.cpp.

Referenced by curses::Application::Run().

◆ CheckTopIOHandlerTypes()

bool Debugger::CheckTopIOHandlerTypes ( IOHandler::Type  top_type,
IOHandler::Type  second_top_type 
)

◆ Clear()

void Debugger::Clear ( )

Definition at line 826 of file Debugger.cpp.

◆ ClearIOHandlers()

void Debugger::ClearIOHandlers ( )

Definition at line 971 of file Debugger.cpp.

◆ CreateInstance()

DebuggerSP Debugger::CreateInstance ( lldb::LogOutputCallback  log_callback = nullptr,
void *  baton = nullptr 
)
static

Definition at line 684 of file Debugger.cpp.

References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.

◆ DefaultEventHandler()

void Debugger::DefaultEventHandler ( )
protected

◆ Destroy()

void Debugger::Destroy ( lldb::DebuggerSP &  debugger_sp)
static

Definition at line 695 of file Debugger.cpp.

References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.

◆ DispatchInputEndOfFile()

void Debugger::DispatchInputEndOfFile ( )

Definition at line 964 of file Debugger.cpp.

◆ DispatchInputInterrupt()

void Debugger::DispatchInputInterrupt ( )

Definition at line 957 of file Debugger.cpp.

◆ EnableForwardEvents()

void Debugger::EnableForwardEvents ( const lldb::ListenerSP &  listener_sp)

Definition at line 1521 of file Debugger.cpp.

Referenced by curses::Application::Run().

◆ EnableLog()

bool Debugger::EnableLog ( llvm::StringRef  channel,
llvm::ArrayRef< const char *>  categories,
llvm::StringRef  log_file,
uint32_t  log_options,
llvm::raw_ostream &  error_stream 
)

◆ EventHandlerThread()

lldb::thread_result_t Debugger::EventHandlerThread ( lldb::thread_arg_t  arg)
staticprotected

Definition at line 1617 of file Debugger.cpp.

◆ ExecuteIOHandlers()

void Debugger::ExecuteIOHandlers ( )

◆ FindDebuggerWithID()

DebuggerSP Debugger::FindDebuggerWithID ( lldb::user_id_t  id)
static

Definition at line 1177 of file Debugger.cpp.

References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.

◆ FindDebuggerWithInstanceName()

DebuggerSP Debugger::FindDebuggerWithInstanceName ( ConstString  instance_name)
static

Definition at line 714 of file Debugger.cpp.

References g_debugger_list_mutex_ptr, and g_debugger_list_ptr.

◆ FindTargetWithProcess()

TargetSP Debugger::FindTargetWithProcess ( Process process)
static

◆ FindTargetWithProcessID()

TargetSP Debugger::FindTargetWithProcessID ( lldb::pid_t  pid)
static

◆ FormatDisassemblerAddress()

bool Debugger::FormatDisassemblerAddress ( const FormatEntity::Entry format,
const SymbolContext sc,
const SymbolContext prev_sc,
const ExecutionContext exe_ctx,
const Address addr,
Stream s 
)
static

◆ GetAsyncErrorStream()

StreamSP Debugger::GetAsyncErrorStream ( )

◆ GetAsyncExecution()

bool Debugger::GetAsyncExecution ( )

◆ GetAsyncOutputStream()

StreamSP Debugger::GetAsyncOutputStream ( )

◆ GetAutoConfirm()

bool Debugger::GetAutoConfirm ( ) const

Definition at line 371 of file Debugger.cpp.

References ePropertyAutoConfirm, and g_properties.

Referenced by lldb_private::CommandInterpreter::Confirm().

◆ GetAutoIndent()

bool Debugger::GetAutoIndent ( ) const

Definition at line 529 of file Debugger.cpp.

References ePropertyAutoIndent.

◆ GetAutoOneLineSummaries()

bool Debugger::GetAutoOneLineSummaries ( ) const

Definition at line 519 of file Debugger.cpp.

References ePropertyAutoOneLineSummaries.

◆ GetBroadcasterManager()

lldb::BroadcasterManagerSP lldb_private::Debugger::GetBroadcasterManager ( )
inline

◆ GetCloseInputOnEOF()

bool Debugger::GetCloseInputOnEOF ( ) const

Definition at line 862 of file Debugger.cpp.

◆ GetCommandInterpreter()

CommandInterpreter& lldb_private::Debugger::GetCommandInterpreter ( )
inline

◆ GetDebuggerAtIndex()

lldb::DebuggerSP Debugger::GetDebuggerAtIndex ( size_t  index)
static

◆ GetDisassemblyFormat()

const FormatEntity::Entry * Debugger::GetDisassemblyFormat ( ) const

◆ GetDisassemblyLineCount()

uint32_t Debugger::GetDisassemblyLineCount ( ) const

Definition at line 513 of file Debugger.cpp.

References ePropertyStopDisassemblyCount, and g_properties.

Referenced by lldb_private::StackFrame::GetStatus().

◆ GetDummyTarget()

Target * Debugger::GetDummyTarget ( )

◆ GetErrorFile()

lldb::StreamFileSP lldb_private::Debugger::GetErrorFile ( )
inline

◆ GetEscapeNonPrintables()

bool Debugger::GetEscapeNonPrintables ( ) const

Definition at line 524 of file Debugger.cpp.

References ePropertyEscapeNonPrintables.

◆ GetFrameFormat()

const FormatEntity::Entry * Debugger::GetFrameFormat ( ) const

Definition at line 382 of file Debugger.cpp.

References ePropertyFrameFormat.

Referenced by lldb_private::StackFrame::DumpUsingSettingsFormat().

◆ GetFrameFormatUnique()

const FormatEntity::Entry * Debugger::GetFrameFormatUnique ( ) const

◆ GetHighlightSource()

bool Debugger::GetHighlightSource ( ) const

Definition at line 477 of file Debugger.cpp.

References ePropertyHighlightSource, and g_properties.

◆ GetInputFile()

lldb::StreamFileSP lldb_private::Debugger::GetInputFile ( )
inline

◆ GetInputRecorder()

repro::DataRecorder * Debugger::GetInputRecorder ( )

Definition at line 879 of file Debugger.cpp.

Referenced by lldb_private::CommandInterpreter::GetIOHandler().

◆ GetInstanceName()

ConstString lldb_private::Debugger::GetInstanceName ( )
inline

Definition at line 307 of file Debugger.h.

References LoadPlugin().

◆ GetIOHandlerCommandPrefix()

const char * Debugger::GetIOHandlerCommandPrefix ( )

Definition at line 1020 of file Debugger.cpp.

Referenced by lldb_private::CommandInterpreter::GetCommandPrefix().

◆ GetIOHandlerHelpPrologue()

const char * Debugger::GetIOHandlerHelpPrologue ( )

Definition at line 1024 of file Debugger.cpp.

◆ GetListener()

lldb::ListenerSP lldb_private::Debugger::GetListener ( )
inline

◆ GetNotifyVoid()

bool Debugger::GetNotifyVoid ( ) const

◆ GetNumDebuggers()

size_t Debugger::GetNumDebuggers ( )
static

◆ GetOutputFile()

lldb::StreamFileSP lldb_private::Debugger::GetOutputFile ( )
inline

◆ GetPlatformList()

PlatformList& lldb_private::Debugger::GetPlatformList ( )
inline

◆ GetPrintDecls()

bool Debugger::GetPrintDecls ( ) const

Definition at line 539 of file Debugger.cpp.

References ePropertyPrintDecls.

Referenced by lldb_private::REPL::IOHandlerInputComplete().

◆ GetProcessSTDERR()

size_t Debugger::GetProcessSTDERR ( Process process,
Stream stream 
)
protected

◆ GetProcessSTDOUT()

size_t Debugger::GetProcessSTDOUT ( Process process,
Stream stream 
)
protected

◆ GetPrompt()

llvm::StringRef Debugger::GetPrompt ( ) const

◆ GetReproducerPath()

llvm::StringRef Debugger::GetReproducerPath ( ) const

Definition at line 415 of file Debugger.cpp.

References lldb_private::repro::Reproducer::Instance().

◆ GetScriptInterpreter()

ScriptInterpreter * Debugger::GetScriptInterpreter ( bool  can_create = true)

◆ GetScriptLanguage()

lldb::ScriptLanguage Debugger::GetScriptLanguage ( ) const

◆ GetSelectedExecutionContext()

ExecutionContext Debugger::GetSelectedExecutionContext ( )

◆ GetSelectedOrDummyTarget()

Target * Debugger::GetSelectedOrDummyTarget ( bool  prefer_dummy = false)

◆ GetSelectedTarget()

lldb::TargetSP lldb_private::Debugger::GetSelectedTarget ( )
inline

◆ GetSourceFileCache()

SourceManager::SourceFileCache& lldb_private::Debugger::GetSourceFileCache ( )
inlineprotected

Definition at line 365 of file Debugger.h.

◆ GetSourceManager()

SourceManager & Debugger::GetSourceManager ( )

Definition at line 1302 of file Debugger.cpp.

Referenced by lldb_private::Disassembler::PrintInstructions().

◆ GetStopDisassemblyDisplay()

Debugger::StopDisassemblyType Debugger::GetStopDisassemblyDisplay ( ) const

Definition at line 506 of file Debugger.cpp.

References ePropertyStopDisassemblyDisplay, and g_properties.

Referenced by lldb_private::StackFrame::GetStatus().

◆ GetStopShowColumn()

StopShowColumn Debugger::GetStopShowColumn ( ) const

Definition at line 483 of file Debugger.cpp.

References ePropertyStopShowColumn, and g_properties.

◆ GetStopShowColumnAnsiPrefix()

llvm::StringRef Debugger::GetStopShowColumnAnsiPrefix ( ) const

Definition at line 489 of file Debugger.cpp.

References ePropertyStopShowColumnAnsiPrefix.

◆ GetStopShowColumnAnsiSuffix()

llvm::StringRef Debugger::GetStopShowColumnAnsiSuffix ( ) const

Definition at line 494 of file Debugger.cpp.

References ePropertyStopShowColumnAnsiSuffix.

◆ GetStopSourceLineCount()

uint32_t Debugger::GetStopSourceLineCount ( bool  before) const

◆ GetTabSize()

uint32_t Debugger::GetTabSize ( ) const

Definition at line 549 of file Debugger.cpp.

References ePropertyTabSize, and g_properties.

Referenced by lldb_private::REPL::IOHandlerFixIndentation().

◆ GetTargetList()

TargetList& lldb_private::Debugger::GetTargetList ( )
inline

◆ GetTerminalWidth()

uint32_t Debugger::GetTerminalWidth ( ) const

◆ GetThreadFormat()

const FormatEntity::Entry * Debugger::GetThreadFormat ( ) const

Definition at line 420 of file Debugger.cpp.

References ePropertyThreadFormat.

Referenced by lldb_private::Thread::DumpUsingSettingsFormat().

◆ GetThreadStopFormat()

const FormatEntity::Entry * Debugger::GetThreadStopFormat ( ) const

Definition at line 425 of file Debugger.cpp.

References ePropertyThreadStopFormat.

Referenced by lldb_private::Thread::DumpUsingSettingsFormat().

◆ GetTopIOHandlerControlSequence()

ConstString Debugger::GetTopIOHandlerControlSequence ( char  ch)

◆ GetUseColor()

bool Debugger::GetUseColor ( ) const

◆ GetUseExternalEditor()

bool Debugger::GetUseExternalEditor ( ) const

Definition at line 453 of file Debugger.cpp.

References ePropertyUseExternalEditor, and g_properties.

Referenced by lldb_private::Thread::GetStatus().

◆ HandleBreakpointEvent()

void Debugger::HandleBreakpointEvent ( const lldb::EventSP &  event_sp)
protected

◆ HandleProcessEvent()

void Debugger::HandleProcessEvent ( const lldb::EventSP &  event_sp)
protected

◆ HandleThreadEvent()

void Debugger::HandleThreadEvent ( const lldb::EventSP &  event_sp)
protected

◆ HasIOHandlerThread()

bool Debugger::HasIOHandlerThread ( )
protected

Definition at line 1667 of file Debugger.cpp.

Referenced by lldb_private::REPL::RunLoop().

◆ Initialize()

void Debugger::Initialize ( LoadPluginCallbackType  load_plugin_callback)
static

◆ InstanceInitialize()

void Debugger::InstanceInitialize ( )
protected

◆ IOHandlerThread()

lldb::thread_result_t Debugger::IOHandlerThread ( lldb::thread_arg_t  arg)
staticprotected

Definition at line 1660 of file Debugger.cpp.

References ExecuteIOHandlers(), and StopEventHandlerThread().

◆ IsForwardingEvents()

bool Debugger::IsForwardingEvents ( )

Definition at line 1519 of file Debugger.cpp.

Referenced by lldb_private::Process::HandlePrivateEvent().

◆ IsHandlingEvents()

bool lldb_private::Debugger::IsHandlingEvents ( ) const
inline

Definition at line 319 of file Debugger.h.

Referenced by lldb_private::Process::HandlePrivateEvent().

◆ IsTopIOHandler()

bool Debugger::IsTopIOHandler ( const lldb::IOHandlerSP &  reader_sp)

◆ JoinIOHandlerThread()

void Debugger::JoinIOHandlerThread ( )
protected

Definition at line 1685 of file Debugger.cpp.

References LLDB_INVALID_HOST_THREAD.

Referenced by lldb_private::REPL::RunLoop().

◆ LoadPlugin()

bool Debugger::LoadPlugin ( const FileSpec spec,
Status error 
)

Definition at line 596 of file Debugger.cpp.

References lldb_private::Status::SetErrorString().

Referenced by LoadPluginCallback().

◆ PopIOHandler()

bool Debugger::PopIOHandler ( const lldb::IOHandlerSP &  reader_sp)

Definition at line 1122 of file Debugger.cpp.

Referenced by lldb_private::Process::PopProcessIOHandler().

◆ PrintAsync()

void Debugger::PrintAsync ( const char *  s,
size_t  len,
bool  is_stdout 
)

Definition at line 1011 of file Debugger.cpp.

Referenced by lldb_private::StreamAsynchronousIO::Flush().

◆ PushIOHandler()

void Debugger::PushIOHandler ( const lldb::IOHandlerSP &  reader_sp,
bool  cancel_top_handler = true 
)

◆ RestoreInputTerminalState()

void Debugger::RestoreInputTerminalState ( )

Definition at line 934 of file Debugger.cpp.

◆ RunIOHandler()

void Debugger::RunIOHandler ( const lldb::IOHandlerSP &  reader_sp)

◆ RunREPL()

Status Debugger::RunREPL ( lldb::LanguageType  language,
const char *  repl_options 
)

◆ SaveInputTerminalState()

void Debugger::SaveInputTerminalState ( )

◆ SetAsyncExecution()

void Debugger::SetAsyncExecution ( bool  async)

◆ SetAutoIndent()

bool Debugger::SetAutoIndent ( bool  b)

Definition at line 534 of file Debugger.cpp.

References ePropertyAutoIndent.

◆ SetCloseInputOnEOF()

void Debugger::SetCloseInputOnEOF ( bool  b)

Definition at line 867 of file Debugger.cpp.

◆ SetErrorFileHandle()

void Debugger::SetErrorFileHandle ( FILE *  fh,
bool  tranfer_ownership 
)

Definition at line 915 of file Debugger.cpp.

References lldb_private::File::SetStream().

◆ SetInputFileHandle()

void Debugger::SetInputFileHandle ( FILE *  fh,
bool  tranfer_ownership,
repro::DataRecorder recorder = nullptr 
)

Definition at line 881 of file Debugger.cpp.

References lldb_private::File::SetStream().

◆ SetLoggingCallback()

void Debugger::SetLoggingCallback ( lldb::LogOutputCallback  log_callback,
void *  baton 
)

Definition at line 1235 of file Debugger.cpp.

◆ SetOutputFileHandle()

void Debugger::SetOutputFileHandle ( FILE *  fh,
bool  tranfer_ownership 
)

Definition at line 898 of file Debugger.cpp.

References lldb_private::File::SetStream().

◆ SetPrintDecls()

bool Debugger::SetPrintDecls ( bool  b)

Definition at line 544 of file Debugger.cpp.

References ePropertyPrintDecls.

◆ SetPrompt() [1/2]

void Debugger::SetPrompt ( llvm::StringRef  p)

Definition at line 404 of file Debugger.cpp.

References ePropertyPrompt, and lldb_utility::ansi::FormatAnsiTerminalCodes().

◆ SetPrompt() [2/2]

void lldb_private::Debugger::SetPrompt ( const char *  )
delete

◆ SetPropertyValue()

Status Debugger::SetPropertyValue ( const ExecutionContext exe_ctx,
VarSetOperationType  op,
llvm::StringRef  property_path,
llvm::StringRef  value 
)
overridevirtual

◆ SetScriptLanguage()

bool Debugger::SetScriptLanguage ( lldb::ScriptLanguage  script_lang)

Definition at line 436 of file Debugger.cpp.

References ePropertyScriptLanguage.

◆ SetTabSize()

bool Debugger::SetTabSize ( uint32_t  tab_size)

Definition at line 555 of file Debugger.cpp.

References ePropertyTabSize.

◆ SetTerminalWidth()

bool Debugger::SetTerminalWidth ( uint32_t  term_width)

Definition at line 448 of file Debugger.cpp.

References ePropertyTerminalWidth.

◆ SettingsInitialize()

void Debugger::SettingsInitialize ( )
static

◆ SettingsTerminate()

void Debugger::SettingsTerminate ( )
static

◆ SetUseColor()

bool Debugger::SetUseColor ( bool  use_color)

Definition at line 470 of file Debugger.cpp.

References ePropertyUseColor.

◆ SetUseExternalEditor()

bool Debugger::SetUseExternalEditor ( bool  use_external_editor_p)

Definition at line 459 of file Debugger.cpp.

References ePropertyUseExternalEditor.

◆ StartEventHandlerThread()

bool Debugger::StartEventHandlerThread ( )
protected

◆ StartIOHandlerThread()

bool Debugger::StartIOHandlerThread ( )
protected

◆ StopEventHandlerThread()

void Debugger::StopEventHandlerThread ( )
protected

◆ StopIOHandlerThread()

void Debugger::StopIOHandlerThread ( )
protected

Definition at line 1677 of file Debugger.cpp.

◆ Terminate()

void Debugger::Terminate ( )
static

Friends And Related Function Documentation

◆ CommandInterpreter

friend class CommandInterpreter
friend

Definition at line 334 of file Debugger.h.

◆ REPL

friend class REPL
friend

Definition at line 335 of file Debugger.h.

◆ SourceManager

friend class SourceManager
friend

Definition at line 85 of file Debugger.h.

Member Data Documentation

◆ g_load_plugin_callback

LoadPluginCallbackType Debugger::g_load_plugin_callback = nullptr
staticprotected

Definition at line 407 of file Debugger.h.

◆ m_broadcaster_manager_sp

lldb::BroadcasterManagerSP lldb_private::Debugger::m_broadcaster_manager_sp
protected

Definition at line 378 of file Debugger.h.

◆ m_clear_once

llvm::once_flag lldb_private::Debugger::m_clear_once
protected

Definition at line 414 of file Debugger.h.

◆ m_command_interpreter_up

std::unique_ptr<CommandInterpreter> lldb_private::Debugger::m_command_interpreter_up
protected

Definition at line 398 of file Debugger.h.

◆ m_error_file_sp

lldb::StreamFileSP lldb_private::Debugger::m_error_file_sp
protected

Definition at line 373 of file Debugger.h.

◆ m_event_handler_thread

HostThread lldb_private::Debugger::m_event_handler_thread
protected

Definition at line 410 of file Debugger.h.

◆ m_forward_listener_sp

lldb::ListenerSP lldb_private::Debugger::m_forward_listener_sp
protected

Definition at line 413 of file Debugger.h.

◆ m_input_file_sp

lldb::StreamFileSP lldb_private::Debugger::m_input_file_sp
protected

Definition at line 371 of file Debugger.h.

◆ m_input_reader_stack

IOHandlerStack lldb_private::Debugger::m_input_reader_stack
protected

Definition at line 403 of file Debugger.h.

◆ m_input_recorder

repro::DataRecorder* lldb_private::Debugger::m_input_recorder
protected

Used for shadowing the input file when capturing a reproducer.

Definition at line 376 of file Debugger.h.

◆ m_instance_name

ConstString lldb_private::Debugger::m_instance_name
protected

Definition at line 406 of file Debugger.h.

◆ m_io_handler_thread

HostThread lldb_private::Debugger::m_io_handler_thread
protected

Definition at line 411 of file Debugger.h.

◆ m_listener_sp

lldb::ListenerSP lldb_private::Debugger::m_listener_sp
protected

Definition at line 388 of file Debugger.h.

◆ m_loaded_plugins

LoadedPluginsList lldb_private::Debugger::m_loaded_plugins
protected

Definition at line 409 of file Debugger.h.

◆ m_log_callback_stream_sp

std::shared_ptr<llvm::raw_ostream> lldb_private::Debugger::m_log_callback_stream_sp
protected

Definition at line 405 of file Debugger.h.

◆ m_log_streams

llvm::StringMap<std::weak_ptr<llvm::raw_ostream> > lldb_private::Debugger::m_log_streams
protected

Definition at line 404 of file Debugger.h.

◆ m_output_file_sp

lldb::StreamFileSP lldb_private::Debugger::m_output_file_sp
protected

Definition at line 372 of file Debugger.h.

◆ m_platform_list

PlatformList lldb_private::Debugger::m_platform_list
protected

Definition at line 387 of file Debugger.h.

◆ m_script_interpreter_mutex

std::recursive_mutex lldb_private::Debugger::m_script_interpreter_mutex
protected

Definition at line 401 of file Debugger.h.

◆ m_script_interpreter_sp

lldb::ScriptInterpreterSP lldb_private::Debugger::m_script_interpreter_sp
protected

Definition at line 400 of file Debugger.h.

◆ m_source_file_cache

SourceManager::SourceFileCache lldb_private::Debugger::m_source_file_cache
protected

Definition at line 393 of file Debugger.h.

◆ m_source_manager_up

std::unique_ptr<SourceManager> lldb_private::Debugger::m_source_manager_up
protected

Definition at line 389 of file Debugger.h.

◆ m_sync_broadcaster

Broadcaster lldb_private::Debugger::m_sync_broadcaster
protected

Definition at line 412 of file Debugger.h.

◆ m_target_list

TargetList lldb_private::Debugger::m_target_list
protected

Definition at line 385 of file Debugger.h.

◆ m_terminal_state

TerminalState lldb_private::Debugger::m_terminal_state
protected

Definition at line 384 of file Debugger.h.


The documentation for this class was generated from the following files: