1include "../../include/lldb/Core/PropertiesBase.td" 2 3let Definition = "target_experimental" in { 4 def InjectLocalVars : Property<"inject-local-vars", "Boolean">, 5 Global, DefaultTrue, 6 Desc<"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.">; 7} 8 9let Definition = "target" in { 10 def DefaultArch: Property<"default-arch", "Arch">, 11 Global, 12 DefaultStringValue<"">, 13 Desc<"Default architecture to choose, when there's a choice.">; 14 def MoveToNearestCode: Property<"move-to-nearest-code", "Boolean">, 15 DefaultTrue, 16 Desc<"Move breakpoints to nearest code.">; 17 def Language: Property<"language", "Language">, 18 DefaultEnumValue<"eLanguageTypeUnknown">, 19 Desc<"The language to use when interpreting expressions entered in commands.">; 20 def ExprPrefix: Property<"expr-prefix", "FileSpec">, 21 DefaultStringValue<"">, 22 Desc<"Path to a file containing expressions to be prepended to all expressions.">; 23 def ExprErrorLimit: Property<"expr-error-limit", "UInt64">, 24 DefaultUnsignedValue<5>, 25 Desc<"The maximum amount of errors to emit while parsing an expression. " 26 "A value of 0 means to always continue parsing if possible.">; 27 def ExprAllocAddress: Property<"expr-alloc-address", "UInt64">, 28 DefaultUnsignedValue<0>, 29 Desc<"Start address within the process address space of memory allocation for expression evaluation.">; 30 def ExprAllocSize: Property<"expr-alloc-size", "UInt64">, 31 DefaultUnsignedValue<0>, 32 Desc<"Amount of memory in bytes to allocate for expression evaluation.">; 33 def ExprAllocAlign: Property<"expr-alloc-align", "UInt64">, 34 DefaultUnsignedValue<0>, 35 Desc<"Alignment for each memory allocation for expression evaluation.">; 36 def PreferDynamic: Property<"prefer-dynamic-value", "Enum">, 37 DefaultEnumValue<"eDynamicDontRunTarget">, 38 EnumValues<"OptionEnumValues(g_dynamic_value_types)">, 39 Desc<"Should printed values be shown as their dynamic value.">; 40 def EnableSynthetic: Property<"enable-synthetic-value", "Boolean">, 41 DefaultTrue, 42 Desc<"Should synthetic values be used by default whenever available.">; 43 def SkipPrologue: Property<"skip-prologue", "Boolean">, 44 DefaultTrue, 45 Desc<"Skip function prologues when setting breakpoints by name.">; 46 def SourceMap: Property<"source-map", "PathMap">, 47 DefaultStringValue<"">, 48 Desc<"Source path remappings apply substitutions to the paths of source files, typically needed to debug from a different host than the one that built the target. The source-map property consists of an array of pairs, the first element is a path prefix, and the second is its replacement. The syntax is `prefix1 replacement1 prefix2 replacement2...`. The pairs are checked in order, the first prefix that matches is used, and that prefix is substituted with the replacement. A common pattern is to use source-map in conjunction with the clang -fdebug-prefix-map flag. In the build, use `-fdebug-prefix-map=/path/to/build_dir=.` to rewrite the host specific build directory to `.`. Then for debugging, use `settings set target.source-map . /path/to/local_dir` to convert `.` to a valid local path.">; 49 def AutoSourceMapRelative: Property<"auto-source-map-relative", "Boolean">, 50 DefaultTrue, 51 Desc<"Automatically deduce source path mappings based on source file breakpoint resolution. It only deduces source mapping if source file breakpoint request is using full path and if the debug info contains relative paths.">; 52 def ExecutableSearchPaths: Property<"exec-search-paths", "FileSpecList">, 53 DefaultStringValue<"">, 54 Desc<"Executable search paths to use when locating executable files whose paths don't match the local file system.">; 55 def DebugFileSearchPaths: Property<"debug-file-search-paths", "FileSpecList">, 56 DefaultStringValue<"">, 57 Desc<"List of directories to be searched when locating debug symbol files. See also symbols.enable-external-lookup.">; 58 def ClangModuleSearchPaths: Property<"clang-module-search-paths", "FileSpecList">, 59 DefaultStringValue<"">, 60 Desc<"List of directories to be searched when locating modules for Clang.">; 61 def AutoImportClangModules: Property<"auto-import-clang-modules", "Boolean">, 62 DefaultTrue, 63 Desc<"Automatically load Clang modules referred to by the program.">; 64 def ImportStdModule: Property<"import-std-module", "Enum">, 65 DefaultEnumValue<"eImportStdModuleFalse">, 66 EnumValues<"OptionEnumValues(g_import_std_module_value_types)">, 67 Desc<"Import the 'std' C++ module to improve expression parsing involving " 68 " C++ standard library types.">; 69 def DynamicClassInfoHelper: Property<"objc-dynamic-class-extractor", "Enum">, 70 DefaultEnumValue<"eDynamicClassInfoHelperAuto">, 71 EnumValues<"OptionEnumValues(g_dynamic_class_info_helper_value_types)">, 72 Desc<"Configure how LLDB parses dynamic Objective-C class metadata. By default LLDB will choose the most appropriate method for the target OS.">; 73 def AutoApplyFixIts: Property<"auto-apply-fixits", "Boolean">, 74 DefaultTrue, 75 Desc<"Automatically apply fix-it hints to expressions.">; 76 def RetriesWithFixIts: Property<"retries-with-fixits", "UInt64">, 77 DefaultUnsignedValue<1>, 78 Desc<"Maximum number of attempts to fix an expression with Fix-Its">; 79 def NotifyAboutFixIts: Property<"notify-about-fixits", "Boolean">, 80 DefaultTrue, 81 Desc<"Print the fixed expression text.">; 82 def SaveObjectsDir: Property<"save-jit-objects-dir", "FileSpec">, 83 DefaultStringValue<"">, 84 Desc<"If specified, the directory to save intermediate object files generated by the LLVM JIT">; 85 def MaxZeroPaddingInFloatFormat: Property<"max-zero-padding-in-float-format", "UInt64">, 86 DefaultUnsignedValue<6>, 87 Desc<"The maximum number of zeroes to insert when displaying a very small float before falling back to scientific notation.">; 88 def MaxChildrenCount: Property<"max-children-count", "SInt64">, 89 DefaultUnsignedValue<256>, 90 Desc<"Maximum number of children to expand in any level of depth.">; 91 def MaxChildrenDepth: Property<"max-children-depth", "UInt64">, 92 DefaultUnsignedValue<0xFFFFFFFF>, 93 Desc<"Maximum depth to expand children.">; 94 def MaxSummaryLength: Property<"max-string-summary-length", "SInt64">, 95 DefaultUnsignedValue<1024>, 96 Desc<"Maximum number of characters to show when using %s in summary strings.">; 97 def MaxMemReadSize: Property<"max-memory-read-size", "SInt64">, 98 DefaultUnsignedValue<1024>, 99 Desc<"Maximum number of bytes that 'memory read' will fetch before --force must be specified.">; 100 def BreakpointUseAvoidList: Property<"breakpoints-use-platform-avoid-list", "Boolean">, 101 DefaultTrue, 102 Desc<"Consult the platform module avoid list when setting non-module specific breakpoints.">; 103 def Arg0: Property<"arg0", "String">, 104 DefaultStringValue<"">, 105 Desc<"The first argument passed to the program in the argument array which can be different from the executable itself.">; 106 def RunArgs: Property<"run-args", "Args">, 107 DefaultStringValue<"">, 108 Desc<"A list containing all the arguments to be passed to the executable when it is run. Note that this does NOT include the argv[0] which is in target.arg0.">; 109 def EnvVars: Property<"env-vars", "Dictionary">, 110 ElementType<"String">, 111 Desc<"A list of user provided environment variables to be passed to the executable's environment, and their values.">; 112 def UnsetEnvVars: Property<"unset-env-vars", "Array">, 113 ElementType<"String">, 114 Desc<"A list of environment variable names to be unset in the inferior's environment. This is most useful to unset some host environment variables when target.inherit-env is true. target.env-vars takes precedence over target.unset-env-vars.">; 115 def InheritEnv: Property<"inherit-env", "Boolean">, 116 DefaultTrue, 117 Desc<"Inherit the environment from the process that is running LLDB.">; 118 def InputPath: Property<"input-path", "FileSpec">, 119 DefaultStringValue<"">, 120 Desc<"The file/path to be used by the executable program for reading its standard input.">; 121 def OutputPath: Property<"output-path", "FileSpec">, 122 DefaultStringValue<"">, 123 Desc<"The file/path to be used by the executable program for writing its standard output.">; 124 def ErrorPath: Property<"error-path", "FileSpec">, 125 DefaultStringValue<"">, 126 Desc<"The file/path to be used by the executable program for writing its standard error.">; 127 def DetachOnError: Property<"detach-on-error", "Boolean">, 128 DefaultTrue, 129 Desc<"debugserver will detach (rather than killing) a process if it loses connection with lldb.">; 130 def PreloadSymbols: Property<"preload-symbols", "Boolean">, 131 DefaultTrue, 132 Desc<"Enable loading of symbol tables before they are needed.">; 133 def DisableASLR: Property<"disable-aslr", "Boolean">, 134 DefaultTrue, 135 Desc<"Disable Address Space Layout Randomization (ASLR)">; 136 def DisableSTDIO: Property<"disable-stdio", "Boolean">, 137 DefaultFalse, 138 Desc<"Disable stdin/stdout for process (e.g. for a GUI application)">; 139 def InheritTCC: Property<"inherit-tcc", "Boolean">, 140 DefaultFalse, 141 Desc<"Inherit the TCC permissions from the inferior's parent instead of making the process itself responsible.">; 142 def InlineStrategy: Property<"inline-breakpoint-strategy", "Enum">, 143 DefaultEnumValue<"eInlineBreakpointsAlways">, 144 EnumValues<"OptionEnumValues(g_inline_breakpoint_enums)">, 145 Desc<"The strategy to use when settings breakpoints by file and line. Breakpoint locations can end up being inlined by the compiler, so that a compile unit 'a.c' might contain an inlined function from another source file. Usually this is limited to breakpoint locations from inlined functions from header or other include files, or more accurately non-implementation source files. Sometimes code might #include implementation files and cause inlined breakpoint locations in inlined implementation files. Always checking for inlined breakpoint locations can be expensive (memory and time), so if you have a project with many headers and find that setting breakpoints is slow, then you can change this setting to headers. This setting allows you to control exactly which strategy is used when setting file and line breakpoints.">; 146 def DisassemblyFlavor: Property<"x86-disassembly-flavor", "Enum">, 147 DefaultEnumValue<"eX86DisFlavorDefault">, 148 EnumValues<"OptionEnumValues(g_x86_dis_flavor_value_types)">, 149 Desc<"The default disassembly flavor to use for x86 or x86-64 targets.">; 150 def UseHexImmediates: Property<"use-hex-immediates", "Boolean">, 151 DefaultTrue, 152 Desc<"Show immediates in disassembly as hexadecimal.">; 153 def HexImmediateStyle: Property<"hex-immediate-style", "Enum">, 154 DefaultEnumValue<"Disassembler::eHexStyleC">, 155 EnumValues<"OptionEnumValues(g_hex_immediate_style_values)">, 156 Desc<"Which style to use for printing hexadecimal disassembly values.">; 157 def UseFastStepping: Property<"use-fast-stepping", "Boolean">, 158 DefaultTrue, 159 Desc<"Use a fast stepping algorithm based on running from branch to branch rather than instruction single-stepping.">; 160 def LoadScriptFromSymbolFile: Property<"load-script-from-symbol-file", "Enum">, 161 DefaultEnumValue<"eLoadScriptFromSymFileWarn">, 162 EnumValues<"OptionEnumValues(g_load_script_from_sym_file_values)">, 163 Desc<"Allow LLDB to load scripting resources embedded in symbol files when available.">; 164 def LoadCWDlldbinitFile: Property<"load-cwd-lldbinit", "Enum">, 165 DefaultEnumValue<"eLoadCWDlldbinitWarn">, 166 EnumValues<"OptionEnumValues(g_load_cwd_lldbinit_values)">, 167 Desc<"Allow LLDB to .lldbinit files from the current directory automatically.">; 168 def MemoryModuleLoadLevel: Property<"memory-module-load-level", "Enum">, 169 DefaultEnumValue<"eMemoryModuleLoadLevelComplete">, 170 EnumValues<"OptionEnumValues(g_memory_module_load_level_values)">, 171 Desc<"Loading modules from memory can be slow as reading the symbol tables and other data can take a long time depending on your connection to the debug target. This setting helps users control how much information gets loaded when loading modules from memory.'complete' is the default value for this setting which will load all sections and symbols by reading them from memory (slowest, most accurate). 'partial' will load sections and attempt to find function bounds without downloading the symbol table (faster, still accurate, missing symbol names). 'minimal' is the fastest setting and will load section data with no symbols, but should rarely be used as stack frames in these memory regions will be inaccurate and not provide any context (fastest). ">; 172 def DisplayExpressionsInCrashlogs: Property<"display-expression-in-crashlogs", "Boolean">, 173 DefaultFalse, 174 Desc<"Expressions that crash will show up in crash logs if the host system supports executable specific crash log strings and this setting is set to true.">; 175 def TrapHandlerNames: Property<"trap-handler-names", "Array">, 176 Global, 177 ElementType<"String">, 178 Desc<"A list of trap handler function names, e.g. a common Unix user process one is _sigtramp.">; 179 def DisplayRuntimeSupportValues: Property<"display-runtime-support-values", "Boolean">, 180 DefaultFalse, 181 Desc<"If true, LLDB will show variables that are meant to support the operation of a language's runtime support.">; 182 def DisplayRecognizedArguments: Property<"display-recognized-arguments", "Boolean">, 183 DefaultFalse, 184 Desc<"Show recognized arguments in variable listings by default.">; 185 def RequireHardwareBreakpoints: Property<"require-hardware-breakpoint", "Boolean">, 186 DefaultFalse, 187 Desc<"Require all breakpoints to be hardware breakpoints.">; 188 def AutoInstallMainExecutable: Property<"auto-install-main-executable", "Boolean">, 189 DefaultTrue, 190 Desc<"Always install the main executable when connected to a remote platform.">; 191 def DebugUtilityExpression: Property<"debug-utility-expression", "Boolean">, 192 DefaultFalse, 193 Desc<"Enable debugging of LLDB-internal utility expressions.">; 194} 195 196let Definition = "process_experimental" in { 197 def OSPluginReportsAllThreads: Property<"os-plugin-reports-all-threads", "Boolean">, 198 Global, 199 DefaultTrue, 200 Desc<"Set to False if your OS Plugins doesn't report all threads on each stop.">; 201} 202 203let Definition = "process" in { 204 def DisableMemCache: Property<"disable-memory-cache", "Boolean">, 205 DefaultFalse, 206 Desc<"Disable reading and caching of memory in fixed-size units.">; 207 def ExtraStartCommand: Property<"extra-startup-command", "Array">, 208 ElementType<"String">, 209 Desc<"A list containing extra commands understood by the particular process plugin used. For instance, to turn on debugserver logging set this to 'QSetLogging:bitmask=LOG_DEFAULT;'">; 210 def IgnoreBreakpointsInExpressions: Property<"ignore-breakpoints-in-expressions", "Boolean">, 211 Global, 212 DefaultTrue, 213 Desc<"If true, breakpoints will be ignored during expression evaluation.">; 214 def UnwindOnErrorInExpressions: Property<"unwind-on-error-in-expressions", "Boolean">, 215 Global, 216 DefaultTrue, 217 Desc<"If true, errors in expression evaluation will unwind the stack back to the state before the call.">; 218 def PythonOSPluginPath: Property<"python-os-plugin-path", "FileSpec">, 219 DefaultUnsignedValue<1>, 220 Desc<"A path to a python OS plug-in module file that contains a OperatingSystemPlugIn class.">; 221 def StopOnSharedLibraryEvents: Property<"stop-on-sharedlibrary-events", "Boolean">, 222 Global, 223 DefaultFalse, 224 Desc<"If true, stop when a shared library is loaded or unloaded.">; 225 def DisableLangRuntimeUnwindPlans: Property<"disable-language-runtime-unwindplans", "Boolean">, 226 Global, 227 DefaultFalse, 228 Desc<"If true, language runtime augmented/overidden backtraces will not be used when printing a stack trace.">; 229 def DetachKeepsStopped: Property<"detach-keeps-stopped", "Boolean">, 230 Global, 231 DefaultFalse, 232 Desc<"If true, detach will attempt to keep the process stopped.">; 233 def MemCacheLineSize: Property<"memory-cache-line-size", "UInt64">, 234 DefaultUnsignedValue<512>, 235 Desc<"The memory cache line size">; 236 def WarningOptimization: Property<"optimization-warnings", "Boolean">, 237 DefaultTrue, 238 Desc<"If true, warn when stopped in code that is optimized where stepping and variable availability may not behave as expected.">; 239 def WarningUnsupportedLanguage: Property<"unsupported-language-warnings", "Boolean">, 240 DefaultTrue, 241 Desc<"If true, warn when stopped in code that is written in a source language that LLDB does not support.">; 242 def StopOnExec: Property<"stop-on-exec", "Boolean">, 243 Global, 244 DefaultTrue, 245 Desc<"If true, stop when the inferior exec's.">; 246 def UtilityExpressionTimeout: Property<"utility-expression-timeout", "UInt64">, 247 DefaultUnsignedValue<15>, 248 Desc<"The time in seconds to wait for LLDB-internal utility expressions.">; 249 def InterruptTimeout: Property<"interrupt-timeout", "UInt64">, 250 DefaultUnsignedValue<20>, 251 Desc<"The time in seconds to wait for an interrupt succeed in stopping the target.">; 252 def SteppingRunsAllThreads: Property<"run-all-threads", "Boolean">, 253 DefaultFalse, 254 Desc<"If true, stepping operations will run all threads. This is equivalent to setting the run-mode option to 'all-threads'.">; 255 def VirtualAddressableBits: Property<"virtual-addressable-bits", "UInt64">, 256 DefaultUnsignedValue<0>, 257 Desc<"The number of bits used for addressing. If the value is 39, then bits 0..38 are used for addressing. The default value of 0 means unspecified.">; 258 def HighmemVirtualAddressableBits: Property<"highmem-virtual-addressable-bits", "UInt64">, 259 DefaultUnsignedValue<0>, 260 Desc<"The number of bits used for addressing high memory, when it differs from low memory in the same Process. When this is non-zero, target.process.virtual-addressable-bits will be the value for low memory (0x000... addresses) and this setting will be the value for high memory (0xfff... addresses). When this is zero, target.process.virtual-addressable-bits applies to all addresses. It is very uncommon to use this setting.">; 261 def FollowForkMode: Property<"follow-fork-mode", "Enum">, 262 DefaultEnumValue<"eFollowParent">, 263 EnumValues<"OptionEnumValues(g_follow_fork_mode_values)">, 264 Desc<"Debugger's behavior upon fork or vfork.">; 265} 266 267let Definition = "platform" in { 268 def UseModuleCache: Property<"use-module-cache", "Boolean">, 269 Global, 270 DefaultTrue, 271 Desc<"Use module cache.">; 272 def ModuleCacheDirectory: Property<"module-cache-directory", "FileSpec">, 273 Global, 274 DefaultStringValue<"">, 275 Desc<"Root directory for cached modules.">; 276} 277 278let Definition = "thread" in { 279 def StepInAvoidsNoDebug: Property<"step-in-avoid-nodebug", "Boolean">, 280 Global, 281 DefaultTrue, 282 Desc<"If true, step-in will not stop in functions with no debug information.">; 283 def StepOutAvoidsNoDebug: Property<"step-out-avoid-nodebug", "Boolean">, 284 Global, 285 DefaultFalse, 286 Desc<"If true, when step-in/step-out/step-over leave the current frame, they will continue to step out till they come to a function with debug information. Passing a frame argument to step-out will override this option.">; 287 def StepAvoidRegex: Property<"step-avoid-regexp", "Regex">, 288 Global, 289 DefaultStringValue<"^std::">, 290 Desc<"A regular expression defining functions step-in won't stop in.">; 291 def StepAvoidLibraries: Property<"step-avoid-libraries", "FileSpecList">, 292 Global, 293 DefaultStringValue<"">, 294 Desc<"A list of libraries that source stepping won't stop in.">; 295 def EnableThreadTrace: Property<"trace-thread", "Boolean">, 296 DefaultFalse, 297 Desc<"If true, this thread will single-step and log execution.">; 298 def MaxBacktraceDepth: Property<"max-backtrace-depth", "UInt64">, 299 DefaultUnsignedValue<600000>, 300 Desc<"Maximum number of frames to backtrace.">; 301} 302