LLDB  mainline
Classes | Macros | Typedefs | Enumerations | Functions | Variables
Target.cpp File Reference
#include "lldb/Target/Target.h"
#include "Plugins/ExpressionParser/Clang/ClangASTSource.h"
#include "Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h"
#include "Plugins/ExpressionParser/Clang/ClangPersistentVariables.h"
#include "lldb/Breakpoint/BreakpointIDList.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/StreamFile.h"
#include "lldb/Core/StructuredDataImpl.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Expression/REPL.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/PosixApi.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/ClangASTContext.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/LanguageRuntime.h"
#include "lldb/Target/ObjCLanguageRuntime.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadSpec.h"
#include "lldb/Utility/Event.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include <memory>
#include <mutex>

Go to the source code of this file.

Classes

class  TargetOptionValueProperties
 
class  TargetExperimentalOptionValueProperties
 

Macros

#define LAUNCH_SHELL_MESSAGE
 

Typedefs

typedef enum x86DisassemblyFlavor x86DisassemblyFlavor
 

Enumerations

enum  x86DisassemblyFlavor { eX86DisFlavorDefault, eX86DisFlavorIntel, eX86DisFlavorATT }
 
enum  {
  ePropertyDefaultArch, ePropertyMoveToNearestCode, ePropertyLanguage, ePropertyExprPrefix,
  ePropertyPreferDynamic, ePropertyEnableSynthetic, ePropertySkipPrologue, ePropertySourceMap,
  ePropertyExecutableSearchPaths, ePropertyDebugFileSearchPaths, ePropertyClangModuleSearchPaths, ePropertyAutoImportClangModules,
  ePropertyImportStdModule, ePropertyAutoApplyFixIts, ePropertyNotifyAboutFixIts, ePropertySaveObjects,
  ePropertyMaxChildrenCount, ePropertyMaxSummaryLength, ePropertyMaxMemReadSize, ePropertyBreakpointUseAvoidList,
  ePropertyArg0, ePropertyRunArgs, ePropertyEnvVars, ePropertyInheritEnv,
  ePropertyInputPath, ePropertyOutputPath, ePropertyErrorPath, ePropertyDetachOnError,
  ePropertyPreloadSymbols, ePropertyDisableASLR, ePropertyDisableSTDIO, ePropertyInlineStrategy,
  ePropertyDisassemblyFlavor, ePropertyUseHexImmediates, ePropertyHexImmediateStyle, ePropertyUseFastStepping,
  ePropertyLoadScriptFromSymbolFile, ePropertyLoadCWDlldbinitFile, ePropertyMemoryModuleLoadLevel, ePropertyDisplayExpressionsInCrashlogs,
  ePropertyTrapHandlerNames, ePropertyDisplayRuntimeSupportValues, ePropertyDisplayRecognizedArguments, ePropertyNonStopModeEnabled,
  ePropertyRequireHardwareBreakpoints, ePropertyExperimental
}
 
enum  { ePropertyInjectLocalVars = 0, ePropertyUseModernTypeLookup }
 

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_hex_immediate_style_values []
 
static constexpr OptionEnumValueElement g_load_script_from_sym_file_values []
 
static constexpr OptionEnumValueElement g_load_current_working_dir_lldbinit_values []
 
static constexpr OptionEnumValueElement g_memory_module_load_level_values []
 
static constexpr PropertyDefinition g_properties []
 
static constexpr PropertyDefinition g_experimental_properties []
 

Macro Definition Documentation

◆ LAUNCH_SHELL_MESSAGE

#define LAUNCH_SHELL_MESSAGE
Value:
"\n'r' and 'run' are aliases that default to launching through a " \
"shell.\nTry launching without going through a shell by using 'process " \
"launch'."

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

Typedef Documentation

◆ x86DisassemblyFlavor

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ePropertyDefaultArch 
ePropertyMoveToNearestCode 
ePropertyLanguage 
ePropertyExprPrefix 
ePropertyPreferDynamic 
ePropertyEnableSynthetic 
ePropertySkipPrologue 
ePropertySourceMap 
ePropertyExecutableSearchPaths 
ePropertyDebugFileSearchPaths 
ePropertyClangModuleSearchPaths 
ePropertyAutoImportClangModules 
ePropertyImportStdModule 
ePropertyAutoApplyFixIts 
ePropertyNotifyAboutFixIts 
ePropertySaveObjects 
ePropertyMaxChildrenCount 
ePropertyMaxSummaryLength 
ePropertyMaxMemReadSize 
ePropertyBreakpointUseAvoidList 
ePropertyArg0 
ePropertyRunArgs 
ePropertyEnvVars 
ePropertyInheritEnv 
ePropertyInputPath 
ePropertyOutputPath 
ePropertyErrorPath 
ePropertyDetachOnError 
ePropertyPreloadSymbols 
ePropertyDisableASLR 
ePropertyDisableSTDIO 
ePropertyInlineStrategy 
ePropertyDisassemblyFlavor 
ePropertyUseHexImmediates 
ePropertyHexImmediateStyle 
ePropertyUseFastStepping 
ePropertyLoadScriptFromSymbolFile 
ePropertyLoadCWDlldbinitFile 
ePropertyMemoryModuleLoadLevel 
ePropertyDisplayExpressionsInCrashlogs 
ePropertyTrapHandlerNames 
ePropertyDisplayRuntimeSupportValues 
ePropertyDisplayRecognizedArguments 
ePropertyNonStopModeEnabled 
ePropertyRequireHardwareBreakpoints 
ePropertyExperimental 

Definition at line 3467 of file Target.cpp.

◆ anonymous enum

anonymous enum
Enumerator
ePropertyInjectLocalVars 
ePropertyUseModernTypeLookup 

Definition at line 3598 of file Target.cpp.

◆ x86DisassemblyFlavor

Enumerator
eX86DisFlavorDefault 
eX86DisFlavorIntel 
eX86DisFlavorATT 

Definition at line 3254 of file Target.cpp.

Function Documentation

◆ CheckIfWatchpointsSupported()

static bool CheckIfWatchpointsSupported ( Target target,
Status error 
)
static

◆ LoadScriptingResourceForModule()

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

Variable Documentation

◆ g_dynamic_value_types

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

Definition at line 3229 of file Target.cpp.

Referenced by lldb_private::GetDynamicValueTypes().

◆ g_experimental_properties

constexpr PropertyDefinition g_experimental_properties[]
static
Initial value:
{
{"inject-local-vars", OptionValue::eTypeBoolean, true, true, nullptr,
{},
"If true, inject local variables explicitly into the expression text. "
"This will fix symbol resolution when there are name collisions between "
"ivars and local variables. "
"But it can make expressions run much more slowly."},
{"use-modern-type-lookup", OptionValue::eTypeBoolean, true, false, nullptr,
{}, "If true, use Clang's modern type lookup infrastructure."}}

Definition at line 3588 of file Target.cpp.

Referenced by lldb_private::TargetExperimentalProperties::TargetExperimentalProperties().

◆ g_hex_immediate_style_values

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

Definition at line 3265 of file Target.cpp.

◆ g_inline_breakpoint_enums

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

Definition at line 3241 of file Target.cpp.

◆ g_load_current_working_dir_lldbinit_values

constexpr OptionEnumValueElement g_load_current_working_dir_lldbinit_values[]
static
Initial value:
= {
"Load .lldbinit files from current directory"},
"Do not load .lldbinit files from current directory"},
"Warn about loading .lldbinit files from current directory"} }

Definition at line 3278 of file Target.cpp.

◆ g_load_script_from_sym_file_values

constexpr OptionEnumValueElement g_load_script_from_sym_file_values[]
static
Initial value:
= {
"Load debug scripts inside symbol files"},
"Do not load debug scripts inside symbol files."},
"Warn about debug scripts inside symbol files but do not load them."} }

Definition at line 3269 of file Target.cpp.

◆ g_memory_module_load_level_values

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

Definition at line 3286 of file Target.cpp.

◆ g_properties

constexpr PropertyDefinition g_properties[]
static

Definition at line 3297 of file Target.cpp.

Referenced by lldb_private::TargetProperties::GetBreakpointsConsultPlatformAvoidList(), lldb_private::TargetProperties::GetDetachOnError(), lldb_private::TargetProperties::GetDisableASLR(), lldb_private::TargetProperties::GetDisableSTDIO(), lldb_private::TargetProperties::GetDisassemblyFlavor(), lldb_private::TargetProperties::GetDisplayExpressionsInCrashlogs(), lldb_private::TargetProperties::GetEnableAutoApplyFixIts(), lldb_private::TargetProperties::GetEnableAutoImportClangModules(), lldb_private::TargetProperties::GetEnableImportStdModule(), lldb_private::TargetProperties::GetEnableNotifyAboutFixIts(), lldb_private::TargetProperties::GetEnableSaveObjects(), lldb_private::TargetProperties::GetEnableSyntheticValue(), lldb_private::TargetProperties::GetHexImmediateStyle(), TargetOptionValueProperties::GetHostEnvironmentIfNeeded(), lldb_private::TargetProperties::GetInlineStrategy(), lldb_private::TargetProperties::GetLoadCWDlldbinitFile(), lldb_private::TargetProperties::GetLoadScriptFromSymbolFile(), lldb_private::TargetProperties::GetMaximumMemReadSize(), lldb_private::TargetProperties::GetMaximumNumberOfChildrenToDisplay(), lldb_private::TargetProperties::GetMaximumSizeOfStringSummary(), lldb_private::TargetProperties::GetMemoryModuleLoadLevel(), lldb_private::TargetProperties::GetMoveToNearestCode(), lldb_private::TargetProperties::GetPreferDynamicValue(), lldb_private::TargetProperties::GetPreloadSymbols(), lldb_private::TargetProperties::GetRequireHardwareBreakpoints(), lldb_private::TargetProperties::GetSkipPrologue(), lldb_private::TargetProperties::GetUseFastStepping(), lldb_private::TargetProperties::GetUseHexImmediates(), and lldb_private::TargetProperties::TargetProperties().

◆ g_x86_dis_flavor_value_types

constexpr OptionEnumValueElement g_x86_dis_flavor_value_types[]
static
Initial value:
= {
{eX86DisFlavorDefault, "default", "Disassembler default (currently att)."},
{eX86DisFlavorIntel, "intel", "Intel disassembler flavor."},
{eX86DisFlavorATT, "att", "AT&T disassembler flavor."} }

Definition at line 3260 of file Target.cpp.

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