xref: /freebsd-src/contrib/llvm-project/lldb/source/Target/TargetProperties.td (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
19dba64beSDimitry Andricinclude "../../include/lldb/Core/PropertiesBase.td"
29dba64beSDimitry Andric
35ffd83dbSDimitry Andriclet Definition = "target_experimental" in {
49dba64beSDimitry Andric  def InjectLocalVars : Property<"inject-local-vars", "Boolean">,
59dba64beSDimitry Andric    Global, DefaultTrue,
69dba64beSDimitry Andric    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.">;
79dba64beSDimitry Andric}
89dba64beSDimitry Andric
99dba64beSDimitry Andriclet Definition = "target" in {
109dba64beSDimitry Andric  def DefaultArch: Property<"default-arch", "Arch">,
119dba64beSDimitry Andric    Global,
129dba64beSDimitry Andric    DefaultStringValue<"">,
139dba64beSDimitry Andric    Desc<"Default architecture to choose, when there's a choice.">;
149dba64beSDimitry Andric  def MoveToNearestCode: Property<"move-to-nearest-code", "Boolean">,
159dba64beSDimitry Andric    DefaultTrue,
169dba64beSDimitry Andric    Desc<"Move breakpoints to nearest code.">;
179dba64beSDimitry Andric  def Language: Property<"language", "Language">,
189dba64beSDimitry Andric    DefaultEnumValue<"eLanguageTypeUnknown">,
199dba64beSDimitry Andric    Desc<"The language to use when interpreting expressions entered in commands.">;
209dba64beSDimitry Andric  def ExprPrefix: Property<"expr-prefix", "FileSpec">,
219dba64beSDimitry Andric    DefaultStringValue<"">,
229dba64beSDimitry Andric    Desc<"Path to a file containing expressions to be prepended to all expressions.">;
23e8d8bef9SDimitry Andric  def ExprErrorLimit: Property<"expr-error-limit", "UInt64">,
24e8d8bef9SDimitry Andric    DefaultUnsignedValue<5>,
25e8d8bef9SDimitry Andric    Desc<"The maximum amount of errors to emit while parsing an expression. "
26e8d8bef9SDimitry Andric         "A value of 0 means to always continue parsing if possible.">;
2706c3fb27SDimitry Andric  def ExprAllocAddress: Property<"expr-alloc-address", "UInt64">,
2806c3fb27SDimitry Andric    DefaultUnsignedValue<0>,
2906c3fb27SDimitry Andric    Desc<"Start address within the process address space of memory allocation for expression evaluation.">;
3006c3fb27SDimitry Andric  def ExprAllocSize: Property<"expr-alloc-size", "UInt64">,
3106c3fb27SDimitry Andric    DefaultUnsignedValue<0>,
3206c3fb27SDimitry Andric    Desc<"Amount of memory in bytes to allocate for expression evaluation.">;
3306c3fb27SDimitry Andric  def ExprAllocAlign: Property<"expr-alloc-align", "UInt64">,
3406c3fb27SDimitry Andric    DefaultUnsignedValue<0>,
3506c3fb27SDimitry Andric    Desc<"Alignment for each memory allocation for expression evaluation.">;
369dba64beSDimitry Andric  def PreferDynamic: Property<"prefer-dynamic-value", "Enum">,
379dba64beSDimitry Andric    DefaultEnumValue<"eDynamicDontRunTarget">,
389dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_dynamic_value_types)">,
399dba64beSDimitry Andric    Desc<"Should printed values be shown as their dynamic value.">;
409dba64beSDimitry Andric  def EnableSynthetic: Property<"enable-synthetic-value", "Boolean">,
419dba64beSDimitry Andric    DefaultTrue,
429dba64beSDimitry Andric    Desc<"Should synthetic values be used by default whenever available.">;
439dba64beSDimitry Andric  def SkipPrologue: Property<"skip-prologue", "Boolean">,
449dba64beSDimitry Andric    DefaultTrue,
459dba64beSDimitry Andric    Desc<"Skip function prologues when setting breakpoints by name.">;
469dba64beSDimitry Andric  def SourceMap: Property<"source-map", "PathMap">,
479dba64beSDimitry Andric    DefaultStringValue<"">,
48e8d8bef9SDimitry Andric    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.">;
49bdd1243dSDimitry Andric  def AutoSourceMapRelative: Property<"auto-source-map-relative", "Boolean">,
50bdd1243dSDimitry Andric    DefaultTrue,
51bdd1243dSDimitry Andric    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.">;
529dba64beSDimitry Andric  def ExecutableSearchPaths: Property<"exec-search-paths", "FileSpecList">,
539dba64beSDimitry Andric    DefaultStringValue<"">,
549dba64beSDimitry Andric    Desc<"Executable search paths to use when locating executable files whose paths don't match the local file system.">;
559dba64beSDimitry Andric  def DebugFileSearchPaths: Property<"debug-file-search-paths", "FileSpecList">,
569dba64beSDimitry Andric    DefaultStringValue<"">,
579dba64beSDimitry Andric    Desc<"List of directories to be searched when locating debug symbol files. See also symbols.enable-external-lookup.">;
589dba64beSDimitry Andric  def ClangModuleSearchPaths: Property<"clang-module-search-paths", "FileSpecList">,
599dba64beSDimitry Andric    DefaultStringValue<"">,
609dba64beSDimitry Andric    Desc<"List of directories to be searched when locating modules for Clang.">;
619dba64beSDimitry Andric  def AutoImportClangModules: Property<"auto-import-clang-modules", "Boolean">,
629dba64beSDimitry Andric    DefaultTrue,
639dba64beSDimitry Andric    Desc<"Automatically load Clang modules referred to by the program.">;
64e8d8bef9SDimitry Andric  def ImportStdModule: Property<"import-std-module", "Enum">,
65e8d8bef9SDimitry Andric    DefaultEnumValue<"eImportStdModuleFalse">,
66e8d8bef9SDimitry Andric    EnumValues<"OptionEnumValues(g_import_std_module_value_types)">,
67e8d8bef9SDimitry Andric    Desc<"Import the 'std' C++ module to improve expression parsing involving "
68e8d8bef9SDimitry Andric         " C++ standard library types.">;
6981ad6265SDimitry Andric  def DynamicClassInfoHelper: Property<"objc-dynamic-class-extractor", "Enum">,
7081ad6265SDimitry Andric    DefaultEnumValue<"eDynamicClassInfoHelperAuto">,
7181ad6265SDimitry Andric    EnumValues<"OptionEnumValues(g_dynamic_class_info_helper_value_types)">,
7281ad6265SDimitry Andric    Desc<"Configure how LLDB parses dynamic Objective-C class metadata. By default LLDB will choose the most appropriate method for the target OS.">;
739dba64beSDimitry Andric  def AutoApplyFixIts: Property<"auto-apply-fixits", "Boolean">,
749dba64beSDimitry Andric    DefaultTrue,
759dba64beSDimitry Andric    Desc<"Automatically apply fix-it hints to expressions.">;
765ffd83dbSDimitry Andric  def RetriesWithFixIts: Property<"retries-with-fixits", "UInt64">,
775ffd83dbSDimitry Andric    DefaultUnsignedValue<1>,
785ffd83dbSDimitry Andric    Desc<"Maximum number of attempts to fix an expression with Fix-Its">;
799dba64beSDimitry Andric  def NotifyAboutFixIts: Property<"notify-about-fixits", "Boolean">,
809dba64beSDimitry Andric    DefaultTrue,
819dba64beSDimitry Andric    Desc<"Print the fixed expression text.">;
8281ad6265SDimitry Andric  def SaveObjectsDir: Property<"save-jit-objects-dir", "FileSpec">,
8381ad6265SDimitry Andric    DefaultStringValue<"">,
8481ad6265SDimitry Andric    Desc<"If specified, the directory to save intermediate object files generated by the LLVM JIT">;
855f757f3fSDimitry Andric  def ShowHexVariableValuesWithLeadingZeroes: Property<"show-hex-variable-values-with-leading-zeroes", "Boolean">,
865f757f3fSDimitry Andric    Global,
875f757f3fSDimitry Andric    DefaultTrue,
885f757f3fSDimitry Andric    Desc<"Whether to display leading zeroes when printing variable values in hex format.">;
899dba64beSDimitry Andric  def MaxZeroPaddingInFloatFormat: Property<"max-zero-padding-in-float-format", "UInt64">,
909dba64beSDimitry Andric    DefaultUnsignedValue<6>,
919dba64beSDimitry Andric    Desc<"The maximum number of zeroes to insert when displaying a very small float before falling back to scientific notation.">;
929dba64beSDimitry Andric  def MaxChildrenCount: Property<"max-children-count", "SInt64">,
939dba64beSDimitry Andric    DefaultUnsignedValue<256>,
949dba64beSDimitry Andric    Desc<"Maximum number of children to expand in any level of depth.">;
9581ad6265SDimitry Andric  def MaxChildrenDepth: Property<"max-children-depth", "UInt64">,
9681ad6265SDimitry Andric    DefaultUnsignedValue<0xFFFFFFFF>,
9781ad6265SDimitry Andric    Desc<"Maximum depth to expand children.">;
987a6dacacSDimitry Andric  def MaxSummaryLength: Property<"max-string-summary-length", "UInt64">,
999dba64beSDimitry Andric    DefaultUnsignedValue<1024>,
1009dba64beSDimitry Andric    Desc<"Maximum number of characters to show when using %s in summary strings.">;
1019dba64beSDimitry Andric  def MaxMemReadSize: Property<"max-memory-read-size", "SInt64">,
1029dba64beSDimitry Andric    DefaultUnsignedValue<1024>,
1039dba64beSDimitry Andric    Desc<"Maximum number of bytes that 'memory read' will fetch before --force must be specified.">;
1049dba64beSDimitry Andric  def BreakpointUseAvoidList: Property<"breakpoints-use-platform-avoid-list", "Boolean">,
1059dba64beSDimitry Andric    DefaultTrue,
1069dba64beSDimitry Andric    Desc<"Consult the platform module avoid list when setting non-module specific breakpoints.">;
1079dba64beSDimitry Andric  def Arg0: Property<"arg0", "String">,
1089dba64beSDimitry Andric    DefaultStringValue<"">,
1099dba64beSDimitry Andric    Desc<"The first argument passed to the program in the argument array which can be different from the executable itself.">;
1109dba64beSDimitry Andric  def RunArgs: Property<"run-args", "Args">,
1119dba64beSDimitry Andric    DefaultStringValue<"">,
1129dba64beSDimitry Andric    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.">;
1139dba64beSDimitry Andric  def EnvVars: Property<"env-vars", "Dictionary">,
1145ffd83dbSDimitry Andric    ElementType<"String">,
1155ffd83dbSDimitry Andric    Desc<"A list of user provided environment variables to be passed to the executable's environment, and their values.">;
1165ffd83dbSDimitry Andric  def UnsetEnvVars: Property<"unset-env-vars", "Array">,
1175ffd83dbSDimitry Andric    ElementType<"String">,
1185ffd83dbSDimitry Andric    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.">;
1199dba64beSDimitry Andric  def InheritEnv: Property<"inherit-env", "Boolean">,
1209dba64beSDimitry Andric    DefaultTrue,
1219dba64beSDimitry Andric    Desc<"Inherit the environment from the process that is running LLDB.">;
1229dba64beSDimitry Andric  def InputPath: Property<"input-path", "FileSpec">,
1239dba64beSDimitry Andric    DefaultStringValue<"">,
1249dba64beSDimitry Andric    Desc<"The file/path to be used by the executable program for reading its standard input.">;
1259dba64beSDimitry Andric  def OutputPath: Property<"output-path", "FileSpec">,
1269dba64beSDimitry Andric    DefaultStringValue<"">,
1279dba64beSDimitry Andric    Desc<"The file/path to be used by the executable program for writing its standard output.">;
1289dba64beSDimitry Andric  def ErrorPath: Property<"error-path", "FileSpec">,
1299dba64beSDimitry Andric    DefaultStringValue<"">,
1309dba64beSDimitry Andric    Desc<"The file/path to be used by the executable program for writing its standard error.">;
1319dba64beSDimitry Andric  def DetachOnError: Property<"detach-on-error", "Boolean">,
1329dba64beSDimitry Andric    DefaultTrue,
1339dba64beSDimitry Andric    Desc<"debugserver will detach (rather than killing) a process if it loses connection with lldb.">;
1349dba64beSDimitry Andric  def PreloadSymbols: Property<"preload-symbols", "Boolean">,
1359dba64beSDimitry Andric    DefaultTrue,
1369dba64beSDimitry Andric    Desc<"Enable loading of symbol tables before they are needed.">;
1379dba64beSDimitry Andric  def DisableASLR: Property<"disable-aslr", "Boolean">,
1389dba64beSDimitry Andric    DefaultTrue,
1399dba64beSDimitry Andric    Desc<"Disable Address Space Layout Randomization (ASLR)">;
1409dba64beSDimitry Andric  def DisableSTDIO: Property<"disable-stdio", "Boolean">,
1419dba64beSDimitry Andric    DefaultFalse,
1429dba64beSDimitry Andric    Desc<"Disable stdin/stdout for process (e.g. for a GUI application)">;
143e8d8bef9SDimitry Andric  def InheritTCC: Property<"inherit-tcc", "Boolean">,
144e8d8bef9SDimitry Andric    DefaultFalse,
145e8d8bef9SDimitry Andric    Desc<"Inherit the TCC permissions from the inferior's parent instead of making the process itself responsible.">;
1469dba64beSDimitry Andric  def InlineStrategy: Property<"inline-breakpoint-strategy", "Enum">,
1479dba64beSDimitry Andric    DefaultEnumValue<"eInlineBreakpointsAlways">,
1489dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_inline_breakpoint_enums)">,
1499dba64beSDimitry Andric    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.">;
1509dba64beSDimitry Andric  def DisassemblyFlavor: Property<"x86-disassembly-flavor", "Enum">,
1519dba64beSDimitry Andric    DefaultEnumValue<"eX86DisFlavorDefault">,
1529dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_x86_dis_flavor_value_types)">,
1539dba64beSDimitry Andric    Desc<"The default disassembly flavor to use for x86 or x86-64 targets.">;
1549dba64beSDimitry Andric  def UseHexImmediates: Property<"use-hex-immediates", "Boolean">,
1559dba64beSDimitry Andric    DefaultTrue,
1569dba64beSDimitry Andric    Desc<"Show immediates in disassembly as hexadecimal.">;
1579dba64beSDimitry Andric  def HexImmediateStyle: Property<"hex-immediate-style", "Enum">,
1589dba64beSDimitry Andric    DefaultEnumValue<"Disassembler::eHexStyleC">,
1599dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_hex_immediate_style_values)">,
1609dba64beSDimitry Andric    Desc<"Which style to use for printing hexadecimal disassembly values.">;
1619dba64beSDimitry Andric  def UseFastStepping: Property<"use-fast-stepping", "Boolean">,
1629dba64beSDimitry Andric    DefaultTrue,
1639dba64beSDimitry Andric    Desc<"Use a fast stepping algorithm based on running from branch to branch rather than instruction single-stepping.">;
1649dba64beSDimitry Andric  def LoadScriptFromSymbolFile: Property<"load-script-from-symbol-file", "Enum">,
1659dba64beSDimitry Andric    DefaultEnumValue<"eLoadScriptFromSymFileWarn">,
1669dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_load_script_from_sym_file_values)">,
1679dba64beSDimitry Andric    Desc<"Allow LLDB to load scripting resources embedded in symbol files when available.">;
1689dba64beSDimitry Andric  def LoadCWDlldbinitFile: Property<"load-cwd-lldbinit", "Enum">,
1699dba64beSDimitry Andric    DefaultEnumValue<"eLoadCWDlldbinitWarn">,
1709dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_load_cwd_lldbinit_values)">,
1719dba64beSDimitry Andric    Desc<"Allow LLDB to .lldbinit files from the current directory automatically.">;
1729dba64beSDimitry Andric  def MemoryModuleLoadLevel: Property<"memory-module-load-level", "Enum">,
1739dba64beSDimitry Andric    DefaultEnumValue<"eMemoryModuleLoadLevelComplete">,
1749dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_memory_module_load_level_values)">,
1759dba64beSDimitry Andric    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). ">;
1769dba64beSDimitry Andric  def DisplayExpressionsInCrashlogs: Property<"display-expression-in-crashlogs", "Boolean">,
1779dba64beSDimitry Andric    DefaultFalse,
1789dba64beSDimitry Andric    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.">;
1799dba64beSDimitry Andric  def TrapHandlerNames: Property<"trap-handler-names", "Array">,
1809dba64beSDimitry Andric    Global,
1815ffd83dbSDimitry Andric    ElementType<"String">,
1829dba64beSDimitry Andric    Desc<"A list of trap handler function names, e.g. a common Unix user process one is _sigtramp.">;
1839dba64beSDimitry Andric  def DisplayRuntimeSupportValues: Property<"display-runtime-support-values", "Boolean">,
1849dba64beSDimitry Andric    DefaultFalse,
1859dba64beSDimitry Andric    Desc<"If true, LLDB will show variables that are meant to support the operation of a language's runtime support.">;
1869dba64beSDimitry Andric  def DisplayRecognizedArguments: Property<"display-recognized-arguments", "Boolean">,
1879dba64beSDimitry Andric    DefaultFalse,
1889dba64beSDimitry Andric    Desc<"Show recognized arguments in variable listings by default.">;
1899dba64beSDimitry Andric  def RequireHardwareBreakpoints: Property<"require-hardware-breakpoint", "Boolean">,
1909dba64beSDimitry Andric    DefaultFalse,
1919dba64beSDimitry Andric    Desc<"Require all breakpoints to be hardware breakpoints.">;
1925ffd83dbSDimitry Andric  def AutoInstallMainExecutable: Property<"auto-install-main-executable", "Boolean">,
1935ffd83dbSDimitry Andric    DefaultTrue,
1945ffd83dbSDimitry Andric    Desc<"Always install the main executable when connected to a remote platform.">;
195fe6060f1SDimitry Andric  def DebugUtilityExpression: Property<"debug-utility-expression", "Boolean">,
196fe6060f1SDimitry Andric    DefaultFalse,
197fe6060f1SDimitry Andric    Desc<"Enable debugging of LLDB-internal utility expressions.">;
1985ffd83dbSDimitry Andric}
1995ffd83dbSDimitry Andric
2005ffd83dbSDimitry Andriclet Definition = "process_experimental" in {
2015ffd83dbSDimitry Andric  def OSPluginReportsAllThreads: Property<"os-plugin-reports-all-threads", "Boolean">,
2025ffd83dbSDimitry Andric    Global,
2035ffd83dbSDimitry Andric    DefaultTrue,
2045ffd83dbSDimitry Andric    Desc<"Set to False if your OS Plugins doesn't report all threads on each stop.">;
2059dba64beSDimitry Andric}
2069dba64beSDimitry Andric
2079dba64beSDimitry Andriclet Definition = "process" in {
2089dba64beSDimitry Andric  def DisableMemCache: Property<"disable-memory-cache", "Boolean">,
2099dba64beSDimitry Andric    DefaultFalse,
2109dba64beSDimitry Andric    Desc<"Disable reading and caching of memory in fixed-size units.">;
2119dba64beSDimitry Andric  def ExtraStartCommand: Property<"extra-startup-command", "Array">,
2125ffd83dbSDimitry Andric    ElementType<"String">,
2139dba64beSDimitry Andric    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;'">;
2149dba64beSDimitry Andric  def IgnoreBreakpointsInExpressions: Property<"ignore-breakpoints-in-expressions", "Boolean">,
2159dba64beSDimitry Andric    Global,
2169dba64beSDimitry Andric    DefaultTrue,
2179dba64beSDimitry Andric    Desc<"If true, breakpoints will be ignored during expression evaluation.">;
2189dba64beSDimitry Andric  def UnwindOnErrorInExpressions: Property<"unwind-on-error-in-expressions", "Boolean">,
2199dba64beSDimitry Andric    Global,
2209dba64beSDimitry Andric    DefaultTrue,
2219dba64beSDimitry Andric    Desc<"If true, errors in expression evaluation will unwind the stack back to the state before the call.">;
2229dba64beSDimitry Andric  def PythonOSPluginPath: Property<"python-os-plugin-path", "FileSpec">,
2239dba64beSDimitry Andric    DefaultUnsignedValue<1>,
2249dba64beSDimitry Andric    Desc<"A path to a python OS plug-in module file that contains a OperatingSystemPlugIn class.">;
2259dba64beSDimitry Andric  def StopOnSharedLibraryEvents: Property<"stop-on-sharedlibrary-events", "Boolean">,
2269dba64beSDimitry Andric    Global,
2279dba64beSDimitry Andric    DefaultFalse,
2289dba64beSDimitry Andric    Desc<"If true, stop when a shared library is loaded or unloaded.">;
229fe6060f1SDimitry Andric  def DisableLangRuntimeUnwindPlans: Property<"disable-language-runtime-unwindplans", "Boolean">,
230fe6060f1SDimitry Andric    Global,
231fe6060f1SDimitry Andric    DefaultFalse,
23206c3fb27SDimitry Andric    Desc<"If true, language runtime augmented/overidden backtraces will not be used when printing a stack trace.">;
2339dba64beSDimitry Andric  def DetachKeepsStopped: Property<"detach-keeps-stopped", "Boolean">,
2349dba64beSDimitry Andric    Global,
2359dba64beSDimitry Andric    DefaultFalse,
2369dba64beSDimitry Andric    Desc<"If true, detach will attempt to keep the process stopped.">;
2379dba64beSDimitry Andric  def MemCacheLineSize: Property<"memory-cache-line-size", "UInt64">,
2389dba64beSDimitry Andric    DefaultUnsignedValue<512>,
2399dba64beSDimitry Andric    Desc<"The memory cache line size">;
2409dba64beSDimitry Andric  def WarningOptimization: Property<"optimization-warnings", "Boolean">,
2419dba64beSDimitry Andric    DefaultTrue,
2429dba64beSDimitry Andric    Desc<"If true, warn when stopped in code that is optimized where stepping and variable availability may not behave as expected.">;
2435ffd83dbSDimitry Andric  def WarningUnsupportedLanguage: Property<"unsupported-language-warnings", "Boolean">,
2445ffd83dbSDimitry Andric    DefaultTrue,
2455ffd83dbSDimitry Andric    Desc<"If true, warn when stopped in code that is written in a source language that LLDB does not support.">;
2469dba64beSDimitry Andric  def StopOnExec: Property<"stop-on-exec", "Boolean">,
2479dba64beSDimitry Andric    Global,
2489dba64beSDimitry Andric    DefaultTrue,
24981ad6265SDimitry Andric    Desc<"If true, stop when the inferior exec's.">;
2509dba64beSDimitry Andric  def UtilityExpressionTimeout: Property<"utility-expression-timeout", "UInt64">,
2515f757f3fSDimitry Andric#ifdef LLDB_SANITIZED
2525f757f3fSDimitry Andric    DefaultUnsignedValue<60>,
2535f757f3fSDimitry Andric#else
2549dba64beSDimitry Andric    DefaultUnsignedValue<15>,
2555f757f3fSDimitry Andric#endif
2569dba64beSDimitry Andric    Desc<"The time in seconds to wait for LLDB-internal utility expressions.">;
257fe6060f1SDimitry Andric  def InterruptTimeout: Property<"interrupt-timeout", "UInt64">,
2585f757f3fSDimitry Andric#ifdef LLDB_SANITIZED
2595f757f3fSDimitry Andric    DefaultUnsignedValue<60>,
2605f757f3fSDimitry Andric#else
261fe6060f1SDimitry Andric    DefaultUnsignedValue<20>,
2625f757f3fSDimitry Andric#endif
263fe6060f1SDimitry Andric    Desc<"The time in seconds to wait for an interrupt succeed in stopping the target.">;
264e8d8bef9SDimitry Andric  def SteppingRunsAllThreads: Property<"run-all-threads", "Boolean">,
265e8d8bef9SDimitry Andric    DefaultFalse,
266e8d8bef9SDimitry Andric    Desc<"If true, stepping operations will run all threads.  This is equivalent to setting the run-mode option to 'all-threads'.">;
267fe6060f1SDimitry Andric  def VirtualAddressableBits: Property<"virtual-addressable-bits", "UInt64">,
268fe6060f1SDimitry Andric    DefaultUnsignedValue<0>,
269fe6060f1SDimitry Andric    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.">;
27006c3fb27SDimitry Andric  def HighmemVirtualAddressableBits: Property<"highmem-virtual-addressable-bits", "UInt64">,
27106c3fb27SDimitry Andric    DefaultUnsignedValue<0>,
27206c3fb27SDimitry Andric    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.">;
273349cc55cSDimitry Andric  def FollowForkMode: Property<"follow-fork-mode", "Enum">,
274349cc55cSDimitry Andric    DefaultEnumValue<"eFollowParent">,
275349cc55cSDimitry Andric    EnumValues<"OptionEnumValues(g_follow_fork_mode_values)">,
276349cc55cSDimitry Andric    Desc<"Debugger's behavior upon fork or vfork.">;
2779dba64beSDimitry Andric}
2789dba64beSDimitry Andric
2799dba64beSDimitry Andriclet Definition = "platform" in {
2809dba64beSDimitry Andric  def UseModuleCache: Property<"use-module-cache", "Boolean">,
2819dba64beSDimitry Andric    Global,
2829dba64beSDimitry Andric    DefaultTrue,
2839dba64beSDimitry Andric    Desc<"Use module cache.">;
2849dba64beSDimitry Andric  def ModuleCacheDirectory: Property<"module-cache-directory", "FileSpec">,
2859dba64beSDimitry Andric    Global,
2869dba64beSDimitry Andric    DefaultStringValue<"">,
2879dba64beSDimitry Andric    Desc<"Root directory for cached modules.">;
2889dba64beSDimitry Andric}
2899dba64beSDimitry Andric
2909dba64beSDimitry Andriclet Definition = "thread" in {
2919dba64beSDimitry Andric  def StepInAvoidsNoDebug: Property<"step-in-avoid-nodebug", "Boolean">,
2929dba64beSDimitry Andric    Global,
2939dba64beSDimitry Andric    DefaultTrue,
2949dba64beSDimitry Andric    Desc<"If true, step-in will not stop in functions with no debug information.">;
2959dba64beSDimitry Andric  def StepOutAvoidsNoDebug: Property<"step-out-avoid-nodebug", "Boolean">,
2969dba64beSDimitry Andric    Global,
2979dba64beSDimitry Andric    DefaultFalse,
2989dba64beSDimitry Andric    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.">;
2999dba64beSDimitry Andric  def StepAvoidRegex: Property<"step-avoid-regexp", "Regex">,
3009dba64beSDimitry Andric    Global,
3019dba64beSDimitry Andric    DefaultStringValue<"^std::">,
3029dba64beSDimitry Andric    Desc<"A regular expression defining functions step-in won't stop in.">;
3039dba64beSDimitry Andric  def StepAvoidLibraries: Property<"step-avoid-libraries", "FileSpecList">,
3049dba64beSDimitry Andric    Global,
3059dba64beSDimitry Andric    DefaultStringValue<"">,
3069dba64beSDimitry Andric    Desc<"A list of libraries that source stepping won't stop in.">;
3079dba64beSDimitry Andric  def EnableThreadTrace: Property<"trace-thread", "Boolean">,
3089dba64beSDimitry Andric    DefaultFalse,
3099dba64beSDimitry Andric    Desc<"If true, this thread will single-step and log execution.">;
3109dba64beSDimitry Andric  def MaxBacktraceDepth: Property<"max-backtrace-depth", "UInt64">,
31181ad6265SDimitry Andric    DefaultUnsignedValue<600000>,
3129dba64beSDimitry Andric    Desc<"Maximum number of frames to backtrace.">;
3139dba64beSDimitry Andric}
314*0fca6ea1SDimitry Andric
315*0fca6ea1SDimitry Andriclet Definition = "language" in {
316*0fca6ea1SDimitry Andric  def EnableFilterForLineBreakpoints: Property<"enable-filter-for-line-breakpoints", "Boolean">,
317*0fca6ea1SDimitry Andric    DefaultTrue,
318*0fca6ea1SDimitry Andric    Desc<"If true, allow Language plugins to filter locations when setting breakpoints by line number or regex.">;
319*0fca6ea1SDimitry Andric}
320