LLDB mainline
Classes | Macros | Enumerations | Functions | Variables
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/ValueObject.h"
#include "lldb/Core/ValueObjectConstResult.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/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/State.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/SetVector.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

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 4101 of file Target.cpp.

◆ LLDB_PROPERTIES_target [2/2]

#define LLDB_PROPERTIES_target

Definition at line 4101 of file Target.cpp.

◆ LLDB_PROPERTIES_target_experimental [1/2]

#define LLDB_PROPERTIES_target_experimental

Definition at line 4136 of file Target.cpp.

◆ LLDB_PROPERTIES_target_experimental [2/2]

#define LLDB_PROPERTIES_target_experimental

Definition at line 4136 of file Target.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ePropertyExperimental 

Definition at line 4100 of file Target.cpp.

◆ anonymous enum

anonymous enum

Definition at line 4135 of file Target.cpp.

◆ x86DisassemblyFlavor

Enumerator
eX86DisFlavorDefault 
eX86DisFlavorIntel 
eX86DisFlavorATT 

Definition at line 3965 of file Target.cpp.

Function Documentation

◆ CheckIfWatchpointsSupported()

static bool CheckIfWatchpointsSupported ( Target target,
Status error 
)
static

Definition at line 835 of file Target.cpp.

References error(), and lldb_private::Target::GetProcessSP().

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

◆ LoadScriptingResourceForModule()

static void LoadScriptingResourceForModule ( const ModuleSP module_sp,
Target target 
)
static

Variable Documentation

◆ g_dynamic_class_info_helper_value_types

constexpr 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:71
@ eDynamicClassInfoHelperGetRealizedClassList
Definition: Target.h:72
@ eDynamicClassInfoHelperAuto
Definition: Target.h:69
@ eDynamicClassInfoHelperRealizedClassesStruct
Definition: Target.h:70

Definition at line 4012 of file Target.cpp.

◆ g_dynamic_value_types

constexpr 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
@ eNoDynamicValues

Definition at line 3919 of file Target.cpp.

Referenced by lldb_private::GetDynamicValueTypes().

◆ g_hex_immediate_style_values

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

Definition at line 4027 of file Target.cpp.

◆ g_import_std_module_value_types

constexpr 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:63
@ eImportStdModuleFallback
Definition: Target.h:64
@ eImportStdModuleTrue
Definition: Target.h:65

Definition at line 3989 of file Target.cpp.

◆ g_inline_breakpoint_enums

constexpr 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:45
@ eInlineBreakpointsAlways
Definition: Target.h:47
@ eInlineBreakpointsHeaders
Definition: Target.h:46

Definition at line 3942 of file Target.cpp.

◆ g_load_cwd_lldbinit_values

constexpr 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:57
@ eLoadCWDlldbinitFalse
Definition: Target.h:58
@ eLoadCWDlldbinitWarn
Definition: Target.h:59

Definition at line 4058 of file Target.cpp.

◆ g_load_script_from_sym_file_values

constexpr 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:51
@ eLoadScriptFromSymFileFalse
Definition: Target.h:52
@ eLoadScriptFromSymFileWarn
Definition: Target.h:53

Definition at line 4040 of file Target.cpp.

◆ g_memory_module_load_level_values

constexpr 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 4076 of file Target.cpp.

◆ g_x86_dis_flavor_value_types

constexpr 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:3966
@ eX86DisFlavorIntel
Definition: Target.cpp:3967
@ eX86DisFlavorATT
Definition: Target.cpp:3968

Definition at line 3971 of file Target.cpp.

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