1include "../../include/lldb/Core/PropertiesBase.td" 2 3let Definition = "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 PreferDynamic: Property<"prefer-dynamic-value", "Enum">, 24 DefaultEnumValue<"eDynamicDontRunTarget">, 25 EnumValues<"OptionEnumValues(g_dynamic_value_types)">, 26 Desc<"Should printed values be shown as their dynamic value.">; 27 def EnableSynthetic: Property<"enable-synthetic-value", "Boolean">, 28 DefaultTrue, 29 Desc<"Should synthetic values be used by default whenever available.">; 30 def SkipPrologue: Property<"skip-prologue", "Boolean">, 31 DefaultTrue, 32 Desc<"Skip function prologues when setting breakpoints by name.">; 33 def SourceMap: Property<"source-map", "PathMap">, 34 DefaultStringValue<"">, 35 Desc<"Source path remappings are used to track the change of location between a source file when built, and where it exists on the current system. It consists of an array of duples, the first element of each duple is some part (starting at the root) of the path to the file when it was built, and the second is where the remainder of the original build hierarchy is rooted on the local system. Each element of the array is checked in order and the first one that results in a match wins.">; 36 def ExecutableSearchPaths: Property<"exec-search-paths", "FileSpecList">, 37 DefaultStringValue<"">, 38 Desc<"Executable search paths to use when locating executable files whose paths don't match the local file system.">; 39 def DebugFileSearchPaths: Property<"debug-file-search-paths", "FileSpecList">, 40 DefaultStringValue<"">, 41 Desc<"List of directories to be searched when locating debug symbol files. See also symbols.enable-external-lookup.">; 42 def ClangModuleSearchPaths: Property<"clang-module-search-paths", "FileSpecList">, 43 DefaultStringValue<"">, 44 Desc<"List of directories to be searched when locating modules for Clang.">; 45 def AutoImportClangModules: Property<"auto-import-clang-modules", "Boolean">, 46 DefaultTrue, 47 Desc<"Automatically load Clang modules referred to by the program.">; 48 def ImportStdModule: Property<"import-std-module", "Boolean">, 49 DefaultFalse, 50 Desc<"Import the C++ std module to improve debugging STL containers.">; 51 def AutoApplyFixIts: Property<"auto-apply-fixits", "Boolean">, 52 DefaultTrue, 53 Desc<"Automatically apply fix-it hints to expressions.">; 54 def NotifyAboutFixIts: Property<"notify-about-fixits", "Boolean">, 55 DefaultTrue, 56 Desc<"Print the fixed expression text.">; 57 def SaveObjects: Property<"save-jit-objects", "Boolean">, 58 DefaultFalse, 59 Desc<"Save intermediate object files generated by the LLVM JIT">; 60 def MaxZeroPaddingInFloatFormat: Property<"max-zero-padding-in-float-format", "UInt64">, 61 DefaultUnsignedValue<6>, 62 Desc<"The maximum number of zeroes to insert when displaying a very small float before falling back to scientific notation.">; 63 def MaxChildrenCount: Property<"max-children-count", "SInt64">, 64 DefaultUnsignedValue<256>, 65 Desc<"Maximum number of children to expand in any level of depth.">; 66 def MaxSummaryLength: Property<"max-string-summary-length", "SInt64">, 67 DefaultUnsignedValue<1024>, 68 Desc<"Maximum number of characters to show when using %s in summary strings.">; 69 def MaxMemReadSize: Property<"max-memory-read-size", "SInt64">, 70 DefaultUnsignedValue<1024>, 71 Desc<"Maximum number of bytes that 'memory read' will fetch before --force must be specified.">; 72 def BreakpointUseAvoidList: Property<"breakpoints-use-platform-avoid-list", "Boolean">, 73 DefaultTrue, 74 Desc<"Consult the platform module avoid list when setting non-module specific breakpoints.">; 75 def Arg0: Property<"arg0", "String">, 76 DefaultStringValue<"">, 77 Desc<"The first argument passed to the program in the argument array which can be different from the executable itself.">; 78 def RunArgs: Property<"run-args", "Args">, 79 DefaultStringValue<"">, 80 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.">; 81 def EnvVars: Property<"env-vars", "Dictionary">, 82 DefaultUnsignedValue<16>, 83 Desc<"A list of all the environment variables to be passed to the executable's environment, and their values.">; 84 def InheritEnv: Property<"inherit-env", "Boolean">, 85 DefaultTrue, 86 Desc<"Inherit the environment from the process that is running LLDB.">; 87 def InputPath: Property<"input-path", "FileSpec">, 88 DefaultStringValue<"">, 89 Desc<"The file/path to be used by the executable program for reading its standard input.">; 90 def OutputPath: Property<"output-path", "FileSpec">, 91 DefaultStringValue<"">, 92 Desc<"The file/path to be used by the executable program for writing its standard output.">; 93 def ErrorPath: Property<"error-path", "FileSpec">, 94 DefaultStringValue<"">, 95 Desc<"The file/path to be used by the executable program for writing its standard error.">; 96 def DetachOnError: Property<"detach-on-error", "Boolean">, 97 DefaultTrue, 98 Desc<"debugserver will detach (rather than killing) a process if it loses connection with lldb.">; 99 def PreloadSymbols: Property<"preload-symbols", "Boolean">, 100 DefaultTrue, 101 Desc<"Enable loading of symbol tables before they are needed.">; 102 def DisableASLR: Property<"disable-aslr", "Boolean">, 103 DefaultTrue, 104 Desc<"Disable Address Space Layout Randomization (ASLR)">; 105 def DisableSTDIO: Property<"disable-stdio", "Boolean">, 106 DefaultFalse, 107 Desc<"Disable stdin/stdout for process (e.g. for a GUI application)">; 108 def InlineStrategy: Property<"inline-breakpoint-strategy", "Enum">, 109 DefaultEnumValue<"eInlineBreakpointsAlways">, 110 EnumValues<"OptionEnumValues(g_inline_breakpoint_enums)">, 111 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.">; 112 def DisassemblyFlavor: Property<"x86-disassembly-flavor", "Enum">, 113 DefaultEnumValue<"eX86DisFlavorDefault">, 114 EnumValues<"OptionEnumValues(g_x86_dis_flavor_value_types)">, 115 Desc<"The default disassembly flavor to use for x86 or x86-64 targets.">; 116 def UseHexImmediates: Property<"use-hex-immediates", "Boolean">, 117 DefaultTrue, 118 Desc<"Show immediates in disassembly as hexadecimal.">; 119 def HexImmediateStyle: Property<"hex-immediate-style", "Enum">, 120 DefaultEnumValue<"Disassembler::eHexStyleC">, 121 EnumValues<"OptionEnumValues(g_hex_immediate_style_values)">, 122 Desc<"Which style to use for printing hexadecimal disassembly values.">; 123 def UseFastStepping: Property<"use-fast-stepping", "Boolean">, 124 DefaultTrue, 125 Desc<"Use a fast stepping algorithm based on running from branch to branch rather than instruction single-stepping.">; 126 def LoadScriptFromSymbolFile: Property<"load-script-from-symbol-file", "Enum">, 127 DefaultEnumValue<"eLoadScriptFromSymFileWarn">, 128 EnumValues<"OptionEnumValues(g_load_script_from_sym_file_values)">, 129 Desc<"Allow LLDB to load scripting resources embedded in symbol files when available.">; 130 def LoadCWDlldbinitFile: Property<"load-cwd-lldbinit", "Enum">, 131 DefaultEnumValue<"eLoadCWDlldbinitWarn">, 132 EnumValues<"OptionEnumValues(g_load_cwd_lldbinit_values)">, 133 Desc<"Allow LLDB to .lldbinit files from the current directory automatically.">; 134 def MemoryModuleLoadLevel: Property<"memory-module-load-level", "Enum">, 135 DefaultEnumValue<"eMemoryModuleLoadLevelComplete">, 136 EnumValues<"OptionEnumValues(g_memory_module_load_level_values)">, 137 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). ">; 138 def DisplayExpressionsInCrashlogs: Property<"display-expression-in-crashlogs", "Boolean">, 139 DefaultFalse, 140 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.">; 141 def TrapHandlerNames: Property<"trap-handler-names", "Array">, 142 Global, 143 DefaultUnsignedValue<16>, 144 Desc<"A list of trap handler function names, e.g. a common Unix user process one is _sigtramp.">; 145 def DisplayRuntimeSupportValues: Property<"display-runtime-support-values", "Boolean">, 146 DefaultFalse, 147 Desc<"If true, LLDB will show variables that are meant to support the operation of a language's runtime support.">; 148 def DisplayRecognizedArguments: Property<"display-recognized-arguments", "Boolean">, 149 DefaultFalse, 150 Desc<"Show recognized arguments in variable listings by default.">; 151 def NonStopModeEnabled: Property<"non-stop-mode", "Boolean">, 152 DefaultFalse, 153 Desc<"Disable lock-step debugging, instead control threads independently.">; 154 def RequireHardwareBreakpoints: Property<"require-hardware-breakpoint", "Boolean">, 155 DefaultFalse, 156 Desc<"Require all breakpoints to be hardware breakpoints.">; 157 def AutoInstallMainExecutable: Property<"auto-install-main-executable", "Boolean">, 158 DefaultTrue, 159 Desc<"Always install the main executable when connected to a remote platform.">; 160} 161 162let Definition = "process" in { 163 def DisableMemCache: Property<"disable-memory-cache", "Boolean">, 164 DefaultFalse, 165 Desc<"Disable reading and caching of memory in fixed-size units.">; 166 def ExtraStartCommand: Property<"extra-startup-command", "Array">, 167 DefaultUnsignedValue<16>, 168 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;'">; 169 def IgnoreBreakpointsInExpressions: Property<"ignore-breakpoints-in-expressions", "Boolean">, 170 Global, 171 DefaultTrue, 172 Desc<"If true, breakpoints will be ignored during expression evaluation.">; 173 def UnwindOnErrorInExpressions: Property<"unwind-on-error-in-expressions", "Boolean">, 174 Global, 175 DefaultTrue, 176 Desc<"If true, errors in expression evaluation will unwind the stack back to the state before the call.">; 177 def PythonOSPluginPath: Property<"python-os-plugin-path", "FileSpec">, 178 DefaultUnsignedValue<1>, 179 Desc<"A path to a python OS plug-in module file that contains a OperatingSystemPlugIn class.">; 180 def StopOnSharedLibraryEvents: Property<"stop-on-sharedlibrary-events", "Boolean">, 181 Global, 182 DefaultFalse, 183 Desc<"If true, stop when a shared library is loaded or unloaded.">; 184 def DetachKeepsStopped: Property<"detach-keeps-stopped", "Boolean">, 185 Global, 186 DefaultFalse, 187 Desc<"If true, detach will attempt to keep the process stopped.">; 188 def MemCacheLineSize: Property<"memory-cache-line-size", "UInt64">, 189 DefaultUnsignedValue<512>, 190 Desc<"The memory cache line size">; 191 def WarningOptimization: Property<"optimization-warnings", "Boolean">, 192 DefaultTrue, 193 Desc<"If true, warn when stopped in code that is optimized where stepping and variable availability may not behave as expected.">; 194 def StopOnExec: Property<"stop-on-exec", "Boolean">, 195 Global, 196 DefaultTrue, 197 Desc<"If true, stop when a shared library is loaded or unloaded.">; 198 def UtilityExpressionTimeout: Property<"utility-expression-timeout", "UInt64">, 199 DefaultUnsignedValue<15>, 200 Desc<"The time in seconds to wait for LLDB-internal utility expressions.">; 201} 202 203let Definition = "platform" in { 204 def UseModuleCache: Property<"use-module-cache", "Boolean">, 205 Global, 206 DefaultTrue, 207 Desc<"Use module cache.">; 208 def ModuleCacheDirectory: Property<"module-cache-directory", "FileSpec">, 209 Global, 210 DefaultStringValue<"">, 211 Desc<"Root directory for cached modules.">; 212} 213 214let Definition = "thread" in { 215 def StepInAvoidsNoDebug: Property<"step-in-avoid-nodebug", "Boolean">, 216 Global, 217 DefaultTrue, 218 Desc<"If true, step-in will not stop in functions with no debug information.">; 219 def StepOutAvoidsNoDebug: Property<"step-out-avoid-nodebug", "Boolean">, 220 Global, 221 DefaultFalse, 222 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.">; 223 def StepAvoidRegex: Property<"step-avoid-regexp", "Regex">, 224 Global, 225 DefaultStringValue<"^std::">, 226 Desc<"A regular expression defining functions step-in won't stop in.">; 227 def StepAvoidLibraries: Property<"step-avoid-libraries", "FileSpecList">, 228 Global, 229 DefaultStringValue<"">, 230 Desc<"A list of libraries that source stepping won't stop in.">; 231 def EnableThreadTrace: Property<"trace-thread", "Boolean">, 232 DefaultFalse, 233 Desc<"If true, this thread will single-step and log execution.">; 234 def MaxBacktraceDepth: Property<"max-backtrace-depth", "UInt64">, 235 DefaultUnsignedValue<300000>, 236 Desc<"Maximum number of frames to backtrace.">; 237} 238