LLDB mainline
Target.cpp File Reference
#include "lldb/Target/Target.h"
#include "lldb/Breakpoint/BreakpointIDList.h"
#include "lldb/Breakpoint/BreakpointPrecondition.h"
#include "lldb/Breakpoint/BreakpointResolver.h"
#include "lldb/Breakpoint/BreakpointResolverAddress.h"
#include "lldb/Breakpoint/BreakpointResolverFileLine.h"
#include "lldb/Breakpoint/BreakpointResolverFileRegex.h"
#include "lldb/Breakpoint/BreakpointResolverName.h"
#include "lldb/Breakpoint/BreakpointResolverScripted.h"
#include "lldb/Breakpoint/Watchpoint.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/SearchFilter.h"
#include "lldb/Core/Section.h"
#include "lldb/Core/SourceManager.h"
#include "lldb/Core/StructuredDataImpl.h"
#include "lldb/Core/Telemetry.h"
#include "lldb/DataFormatters/FormatterSection.h"
#include "lldb/Expression/DiagnosticManager.h"
#include "lldb/Expression/ExpressionVariable.h"
#include "lldb/Expression/REPL.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/PosixApi.h"
#include "lldb/Host/StreamFile.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h"
#include "lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h"
#include "lldb/Interpreter/OptionGroupWatchpoint.h"
#include "lldb/Interpreter/OptionValues.h"
#include "lldb/Interpreter/Property.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/LanguageRuntime.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterTypeBuilder.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/StackFrameRecognizer.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadSpec.h"
#include "lldb/Target/UnixSignals.h"
#include "lldb/Utility/Event.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RealpathPrefixes.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Support/ThreadPool.h"
#include <memory>
#include <mutex>
#include <optional>
#include <sstream>
#include "TargetProperties.inc"
#include "TargetPropertiesEnum.inc"

Go to the source code of this file.

Classes

class  TargetOptionValueProperties
class  TargetExperimentalOptionValueProperties

Macros

#define LLDB_PROPERTIES_target
#define LLDB_PROPERTIES_target
#define LLDB_PROPERTIES_target_experimental
#define LLDB_PROPERTIES_target_experimental

Enumerations

enum  x86DisassemblyFlavor { eX86DisFlavorDefault , eX86DisFlavorIntel , eX86DisFlavorATT }
enum  { ePropertyExperimental }
enum  

Functions

template<typename Installer>
static Status installExecutable (const Installer &installer)
static bool CheckIfWatchpointsSupported (Target *target, Status &error)
static void LoadScriptingResourceForModule (const ModuleSP &module_sp, Target *target)

Variables

static constexpr OptionEnumValueElement g_dynamic_value_types []
static constexpr OptionEnumValueElement g_inline_breakpoint_enums []
static constexpr OptionEnumValueElement g_x86_dis_flavor_value_types []
static constexpr OptionEnumValueElement g_import_std_module_value_types []
static constexpr OptionEnumValueElement g_dynamic_class_info_helper_value_types []
static constexpr OptionEnumValueElement g_hex_immediate_style_values []
static constexpr OptionEnumValueElement g_load_script_from_sym_file_values []
static constexpr OptionEnumValueElement g_load_cwd_lldbinit_values []
static constexpr OptionEnumValueElement g_memory_module_load_level_values []

Macro Definition Documentation

◆ LLDB_PROPERTIES_target [1/2]

#define LLDB_PROPERTIES_target

Definition at line 4309 of file Target.cpp.

◆ LLDB_PROPERTIES_target [2/2]

#define LLDB_PROPERTIES_target

Definition at line 4309 of file Target.cpp.

◆ LLDB_PROPERTIES_target_experimental [1/2]

#define LLDB_PROPERTIES_target_experimental

Definition at line 4344 of file Target.cpp.

◆ LLDB_PROPERTIES_target_experimental [2/2]

#define LLDB_PROPERTIES_target_experimental

Definition at line 4344 of file Target.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ePropertyExperimental 

Definition at line 4312 of file Target.cpp.

◆ anonymous enum

anonymous enum

Definition at line 4347 of file Target.cpp.

◆ x86DisassemblyFlavor

Enumerator
eX86DisFlavorDefault 
eX86DisFlavorIntel 
eX86DisFlavorATT 

Definition at line 4177 of file Target.cpp.

Function Documentation

◆ CheckIfWatchpointsSupported()

bool CheckIfWatchpointsSupported ( Target * target,
Status & error )
static

◆ installExecutable()

template<typename Installer>
Status installExecutable ( const Installer & installer)
static

Definition at line 143 of file Target.cpp.

References error(), and lldb_private::Status.

Referenced by lldb_private::Target::Install().

◆ LoadScriptingResourceForModule()

Variable Documentation

◆ g_dynamic_class_info_helper_value_types

OptionEnumValueElement g_dynamic_class_info_helper_value_types[]
staticconstexpr
Initial value:
= {
{
"auto",
"Automatically determine the most appropriate method for the "
"target OS.",
},
"Prefer using the realized classes struct."},
"Prefer using the CopyRealizedClassList API."},
"Prefer using the GetRealizedClassList API."},
}
@ eDynamicClassInfoHelperCopyRealizedClassList
Definition Target.h:75
@ eDynamicClassInfoHelperGetRealizedClassList
Definition Target.h:76
@ eDynamicClassInfoHelperAuto
Definition Target.h:73
@ eDynamicClassInfoHelperRealizedClassesStruct
Definition Target.h:74

Definition at line 4224 of file Target.cpp.

◆ g_dynamic_value_types

OptionEnumValueElement g_dynamic_value_types[]
staticconstexpr
Initial value:
= {
{
"no-dynamic-values",
"Don't calculate the dynamic type of values",
},
{
"run-target",
"Calculate the dynamic type of values "
"even if you have to run the target.",
},
{
"no-run-target",
"Calculate the dynamic type of values, but don't run the target.",
},
}
@ eDynamicDontRunTarget
@ eDynamicCanRunTarget

Definition at line 4131 of file Target.cpp.

Referenced by lldb_private::GetDynamicValueTypes().

◆ g_hex_immediate_style_values

OptionEnumValueElement g_hex_immediate_style_values[]
staticconstexpr
Initial value:
= {
{
"c",
"C-style (0xffff).",
},
{
"asm",
"Asm-style (0ffffh).",
},
}

Definition at line 4239 of file Target.cpp.

◆ g_import_std_module_value_types

OptionEnumValueElement g_import_std_module_value_types[]
staticconstexpr
Initial value:
= {
{
"false",
"Never import the 'std' C++ module in the expression parser.",
},
{
"fallback",
"Retry evaluating expressions with an imported 'std' C++ module if they"
" failed to parse without the module. This allows evaluating more "
"complex expressions involving C++ standard library types."
},
{
"true",
"Always import the 'std' C++ module. This allows evaluating more "
"complex expressions involving C++ standard library types. This feature"
" is experimental."
},
}
@ eImportStdModuleFalse
Definition Target.h:67
@ eImportStdModuleFallback
Definition Target.h:68
@ eImportStdModuleTrue
Definition Target.h:69

Definition at line 4201 of file Target.cpp.

◆ g_inline_breakpoint_enums

OptionEnumValueElement g_inline_breakpoint_enums[]
staticconstexpr
Initial value:
= {
{
"never",
"Never look for inline breakpoint locations (fastest). This setting "
"should only be used if you know that no inlining occurs in your"
"programs.",
},
{
"headers",
"Only check for inline breakpoint locations when setting breakpoints "
"in header files, but not when setting breakpoint in implementation "
"source files (default).",
},
{
"always",
"Always look for inline breakpoint locations when setting file and "
"line breakpoints (slower but most accurate).",
},
}
@ eInlineBreakpointsNever
Definition Target.h:49
@ eInlineBreakpointsAlways
Definition Target.h:51
@ eInlineBreakpointsHeaders
Definition Target.h:50

Definition at line 4154 of file Target.cpp.

◆ g_load_cwd_lldbinit_values

OptionEnumValueElement g_load_cwd_lldbinit_values[]
staticconstexpr
Initial value:
= {
{
"true",
"Load .lldbinit files from current directory",
},
{
"false",
"Do not load .lldbinit files from current directory",
},
{
"warn",
"Warn about loading .lldbinit files from current directory",
},
}
@ eLoadCWDlldbinitTrue
Definition Target.h:61
@ eLoadCWDlldbinitFalse
Definition Target.h:62
@ eLoadCWDlldbinitWarn
Definition Target.h:63

Definition at line 4270 of file Target.cpp.

◆ g_load_script_from_sym_file_values

OptionEnumValueElement g_load_script_from_sym_file_values[]
staticconstexpr
Initial value:
= {
{
"true",
"Load debug scripts inside symbol files",
},
{
"false",
"Do not load debug scripts inside symbol files.",
},
{
"warn",
"Warn about debug scripts inside symbol files but do not load them.",
},
}
@ eLoadScriptFromSymFileTrue
Definition Target.h:55
@ eLoadScriptFromSymFileFalse
Definition Target.h:56
@ eLoadScriptFromSymFileWarn
Definition Target.h:57

Definition at line 4252 of file Target.cpp.

◆ g_memory_module_load_level_values

OptionEnumValueElement g_memory_module_load_level_values[]
staticconstexpr
Initial value:
= {
{
"minimal",
"Load minimal information when loading modules from memory. Currently "
"this setting loads sections only.",
},
{
"partial",
"Load partial information when loading modules from memory. Currently "
"this setting loads sections and function bounds.",
},
{
"complete",
"Load complete information when loading modules from memory. Currently "
"this setting loads sections and all symbols.",
},
}

Definition at line 4288 of file Target.cpp.

◆ g_x86_dis_flavor_value_types

OptionEnumValueElement g_x86_dis_flavor_value_types[]
staticconstexpr
Initial value:
= {
{
"default",
"Disassembler default (currently att).",
},
{
"intel",
"Intel disassembler flavor.",
},
{
"att",
"AT&T disassembler flavor.",
},
}
@ eX86DisFlavorDefault
Definition Target.cpp:4178
@ eX86DisFlavorIntel
Definition Target.cpp:4179
@ eX86DisFlavorATT
Definition Target.cpp:4180

Definition at line 4183 of file Target.cpp.

Referenced by lldb_private::TargetProperties::GetDisassemblyFlavor().