xref: /freebsd-src/contrib/llvm-project/lldb/source/Core/CoreProperties.td (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
19dba64beSDimitry Andricinclude "../../include/lldb/Core/PropertiesBase.td"
29dba64beSDimitry Andric
39dba64beSDimitry Andriclet Definition = "modulelist" in {
49dba64beSDimitry Andric  def EnableExternalLookup: Property<"enable-external-lookup", "Boolean">,
59dba64beSDimitry Andric    Global,
69dba64beSDimitry Andric    DefaultTrue,
75f757f3fSDimitry Andric    Desc<"Control the use of external tools and repositories to locate symbol files. Directories listed in target.debug-file-search-paths and directory of the executable are always checked first for separate debug info files. Then depending on this setting: On macOS, Spotlight would be also used to locate a matching .dSYM bundle based on the UUID of the executable. On NetBSD, directory /usr/libdata/debug would be also searched. On platforms other than NetBSD directory /usr/lib/debug would be also searched. If all other methods fail there may be symbol-locator plugins that, if configured properly, will also attempt to acquire symbols. The debuginfod plugin defaults to the DEGUFINFOD_URLS environment variable which is configurable through the 'plugin.symbol-locator.debuginfod.server_urls' setting.">;
8bdd1243dSDimitry Andric  def EnableBackgroundLookup: Property<"enable-background-lookup", "Boolean">,
9bdd1243dSDimitry Andric    Global,
10bdd1243dSDimitry Andric    DefaultFalse,
11*0fca6ea1SDimitry Andric    Desc<"Alias for backward compatibility: when enabled this is the equivalent to 'symbols.auto-download background'.">;
12*0fca6ea1SDimitry Andric  def AutoDownload: Property<"auto-download", "Enum">,
13*0fca6ea1SDimitry Andric    Global,
14*0fca6ea1SDimitry Andric    DefaultEnumValue<"eSymbolDownloadOff">,
15*0fca6ea1SDimitry Andric    EnumValues<"OptionEnumValues(g_auto_download_enum_values)">,
16*0fca6ea1SDimitry Andric    Desc<"On macOS, automatically download symbols with dsymForUUID (or an equivalent script/binary) for relevant images in the debug session.">;
179dba64beSDimitry Andric  def ClangModulesCachePath: Property<"clang-modules-cache-path", "FileSpec">,
189dba64beSDimitry Andric    Global,
199dba64beSDimitry Andric    DefaultStringValue<"">,
209dba64beSDimitry Andric    Desc<"The path to the clang modules cache directory (-fmodules-cache-path).">;
215ffd83dbSDimitry Andric  def SymLinkPaths: Property<"debug-info-symlink-paths", "FileSpecList">,
225ffd83dbSDimitry Andric    Global,
235ffd83dbSDimitry Andric    DefaultStringValue<"">,
245ffd83dbSDimitry Andric    Desc<"Debug info path which should be resolved while parsing, relative to the host filesystem.">;
250eae32dcSDimitry Andric  def EnableLLDBIndexCache: Property<"enable-lldb-index-cache", "Boolean">,
260eae32dcSDimitry Andric    Global,
270eae32dcSDimitry Andric    DefaultFalse,
280eae32dcSDimitry Andric    Desc<"Enable caching for debug sessions in LLDB. LLDB can cache data for each module for improved performance in subsequent debug sessions.">;
290eae32dcSDimitry Andric  def LLDBIndexCachePath: Property<"lldb-index-cache-path", "FileSpec">,
300eae32dcSDimitry Andric    Global,
310eae32dcSDimitry Andric    DefaultStringValue<"">,
320eae32dcSDimitry Andric    Desc<"The path to the LLDB index cache directory.">;
330eae32dcSDimitry Andric  def LLDBIndexCacheMaxByteSize: Property<"lldb-index-cache-max-byte-size", "UInt64">,
340eae32dcSDimitry Andric    Global,
350eae32dcSDimitry Andric    DefaultUnsignedValue<0>,
360eae32dcSDimitry Andric    Desc<"The maximum size for the LLDB index cache directory in bytes. A value over the amount of available space on the disk will be reduced to the amount of available space. A value of 0 disables the absolute size-based pruning.">;
370eae32dcSDimitry Andric  def LLDBIndexCacheMaxPercent: Property<"lldb-index-cache-max-percent", "UInt64">,
380eae32dcSDimitry Andric    Global,
390eae32dcSDimitry Andric    DefaultUnsignedValue<0>,
400eae32dcSDimitry Andric    Desc<"The maximum size for the cache directory in terms of percentage of the available space on the disk. Set to 100 to indicate no limit, 50 to indicate that the cache size will not be left over half the available disk space. A value over 100 will be reduced to 100. A value of 0 disables the percentage size-based pruning.">;
410eae32dcSDimitry Andric  def LLDBIndexCacheExpirationDays: Property<"lldb-index-cache-expiration-days", "UInt64">,
420eae32dcSDimitry Andric    Global,
430eae32dcSDimitry Andric    DefaultUnsignedValue<7>,
440eae32dcSDimitry Andric    Desc<"The expiration time in days for a file. When a file hasn't been accessed for the specified amount of days, it is removed from the cache. A value of 0 disables the expiration-based pruning.">;
4581ad6265SDimitry Andric  def LoadSymbolOnDemand: Property<"load-on-demand", "Boolean">,
4681ad6265SDimitry Andric    Global,
4781ad6265SDimitry Andric    DefaultFalse,
4881ad6265SDimitry Andric    Desc<"Enable on demand symbol loading in LLDB. LLDB will load debug info on demand for each module based on various conditions (e.g. matched breakpoint, resolved stack frame addresses and matched global variables/function symbols in symbol table) to improve performance. Please refer to docs/use/ondemand.rst for details.">;
499dba64beSDimitry Andric}
509dba64beSDimitry Andric
519dba64beSDimitry Andriclet Definition = "debugger" in {
529dba64beSDimitry Andric  def AutoConfirm: Property<"auto-confirm", "Boolean">,
539dba64beSDimitry Andric    Global,
549dba64beSDimitry Andric    DefaultFalse,
559dba64beSDimitry Andric    Desc<"If true all confirmation prompts will receive their default reply.">;
569dba64beSDimitry Andric  def DisassemblyFormat: Property<"disassembly-format", "FormatEntity">,
579dba64beSDimitry Andric    Global,
585ffd83dbSDimitry Andric    DefaultStringValue<"{${function.initial-function}{${module.file.basename}`}{${function.name-without-args}}:\\\\n}{${function.changed}\\\\n{${module.file.basename}`}{${function.name-without-args}}:\\\\n}{${ansi.fg.yellow}${current-pc-arrow}${ansi.normal} }${addr-file-or-load}{ <${function.concrete-only-addr-offset-no-padding}>}: ">,
599dba64beSDimitry Andric    Desc<"The default disassembly format string to use when disassembling instruction sequences.">;
609dba64beSDimitry Andric  def FrameFormat: Property<"frame-format", "FormatEntity">,
619dba64beSDimitry Andric    Global,
629dba64beSDimitry Andric    DefaultStringValue<"frame #${frame.index}: ${ansi.fg.yellow}${frame.pc}${ansi.normal}{ ${module.file.basename}{`${function.name-with-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{${function.is-optimized} [opt]}{${frame.is-artificial} [artificial]}\\\\n">,
639dba64beSDimitry Andric    Desc<"The default frame format string to use when displaying stack frame information for threads.">;
649dba64beSDimitry Andric  def NotiftVoid: Property<"notify-void", "Boolean">,
659dba64beSDimitry Andric    Global,
669dba64beSDimitry Andric    DefaultFalse,
679dba64beSDimitry Andric    Desc<"Notify the user explicitly if an expression returns void (default: false).">;
689dba64beSDimitry Andric  def Prompt: Property<"prompt", "String">,
699dba64beSDimitry Andric    Global,
709dba64beSDimitry Andric    DefaultEnumValue<"OptionValueString::eOptionEncodeCharacterEscapeSequences">,
719dba64beSDimitry Andric    DefaultStringValue<"(lldb) ">,
729dba64beSDimitry Andric    Desc<"The debugger command line prompt displayed for the user.">;
735f757f3fSDimitry Andric  def PromptAnsiPrefix: Property<"prompt-ansi-prefix", "String">,
745f757f3fSDimitry Andric    Global,
755f757f3fSDimitry Andric    DefaultStringValue<"${ansi.faint}">,
765f757f3fSDimitry Andric    Desc<"When in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the prompt.">;
775f757f3fSDimitry Andric  def PromptAnsiSuffix: Property<"prompt-ansi-suffix", "String">,
785f757f3fSDimitry Andric    Global,
795f757f3fSDimitry Andric    DefaultStringValue<"${ansi.normal}">,
805f757f3fSDimitry Andric    Desc<"When in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the prompt.">;
819dba64beSDimitry Andric  def ScriptLanguage: Property<"script-lang", "Enum">,
829dba64beSDimitry Andric    Global,
83497dd4e3SDimitry Andric    DefaultEnumValue<"eScriptLanguageLua">,
849dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_language_enumerators)">,
859dba64beSDimitry Andric    Desc<"The script language to be used for evaluating user-written scripts.">;
8604eeddc0SDimitry Andric  def REPLLanguage: Property<"repl-lang", "Language">,
8704eeddc0SDimitry Andric    Global,
8804eeddc0SDimitry Andric    DefaultEnumValue<"eLanguageTypeUnknown">,
8904eeddc0SDimitry Andric    Desc<"The language to use for the REPL.">;
9006c3fb27SDimitry Andric  def StopDisassemblyCount: Property<"stop-disassembly-count", "UInt64">,
919dba64beSDimitry Andric    Global,
929dba64beSDimitry Andric    DefaultUnsignedValue<4>,
939dba64beSDimitry Andric    Desc<"The number of disassembly lines to show when displaying a stopped context.">;
949dba64beSDimitry Andric  def StopDisassemblyDisplay: Property<"stop-disassembly-display", "Enum">,
959dba64beSDimitry Andric    Global,
969dba64beSDimitry Andric    DefaultEnumValue<"Debugger::eStopDisassemblyTypeNoDebugInfo">,
979dba64beSDimitry Andric    EnumValues<"OptionEnumValues(g_show_disassembly_enum_values)">,
989dba64beSDimitry Andric    Desc<"Control when to display disassembly when displaying a stopped context.">;
99fe6060f1SDimitry Andric  def StopDisassemblyMaxSize: Property<"stop-disassembly-max-size", "UInt64">,
100fe6060f1SDimitry Andric    Global,
101fe6060f1SDimitry Andric    DefaultUnsignedValue<32000>,
102fe6060f1SDimitry Andric    Desc<"The size limit to use when disassembling large functions (default: 32KB).">;
10306c3fb27SDimitry Andric  def StopLineCountAfter: Property<"stop-line-count-after", "UInt64">,
1049dba64beSDimitry Andric    Global,
1059dba64beSDimitry Andric    DefaultUnsignedValue<3>,
1069dba64beSDimitry Andric    Desc<"The number of sources lines to display that come after the current source line when displaying a stopped context.">;
10706c3fb27SDimitry Andric  def StopLineCountBefore: Property<"stop-line-count-before", "UInt64">,
1089dba64beSDimitry Andric    Global,
1099dba64beSDimitry Andric    DefaultUnsignedValue<3>,
1109dba64beSDimitry Andric    Desc<"The number of sources lines to display that come before the current source line when displaying a stopped context.">;
1119dba64beSDimitry Andric  def HighlightSource: Property<"highlight-source", "Boolean">,
1129dba64beSDimitry Andric    Global,
1139dba64beSDimitry Andric    DefaultTrue,
1149dba64beSDimitry Andric    Desc<"If true, LLDB will highlight the displayed source code.">;
1159dba64beSDimitry Andric  def StopShowColumn: Property<"stop-show-column", "Enum">,
1169dba64beSDimitry Andric    DefaultEnumValue<"eStopShowColumnAnsiOrCaret">,
1179dba64beSDimitry Andric    EnumValues<"OptionEnumValues(s_stop_show_column_values)">,
1189dba64beSDimitry Andric    Desc<"If true, LLDB will use the column information from the debug info to mark the current position when displaying a stopped context.">;
1199dba64beSDimitry Andric  def StopShowColumnAnsiPrefix: Property<"stop-show-column-ansi-prefix", "String">,
1209dba64beSDimitry Andric    Global,
1219dba64beSDimitry Andric    DefaultStringValue<"${ansi.underline}">,
12281ad6265SDimitry Andric    Desc<"When displaying the column marker in a color-enabled terminal, use the ANSI terminal code specified in this format at the immediately before the column to be marked.">;
1239dba64beSDimitry Andric  def StopShowColumnAnsiSuffix: Property<"stop-show-column-ansi-suffix", "String">,
1249dba64beSDimitry Andric    Global,
1259dba64beSDimitry Andric    DefaultStringValue<"${ansi.normal}">,
12681ad6265SDimitry Andric    Desc<"When displaying the column marker in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the column to be marked.">;
1275ffd83dbSDimitry Andric  def StopShowLineMarkerAnsiPrefix: Property<"stop-show-line-ansi-prefix", "String">,
1285ffd83dbSDimitry Andric    Global,
1295ffd83dbSDimitry Andric    DefaultStringValue<"${ansi.fg.yellow}">,
13081ad6265SDimitry Andric    Desc<"When displaying the line marker in a color-enabled terminal, use the ANSI terminal code specified in this format at the immediately before the line to be marked.">;
1315ffd83dbSDimitry Andric  def StopShowLineMarkerAnsiSuffix: Property<"stop-show-line-ansi-suffix", "String">,
1325ffd83dbSDimitry Andric    Global,
1335ffd83dbSDimitry Andric    DefaultStringValue<"${ansi.normal}">,
13481ad6265SDimitry Andric    Desc<"When displaying the line marker in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the line to be marked.">;
135*0fca6ea1SDimitry Andric  def TerminalWidth: Property<"term-width", "UInt64">,
1369dba64beSDimitry Andric    Global,
1379dba64beSDimitry Andric    DefaultUnsignedValue<80>,
1389dba64beSDimitry Andric    Desc<"The maximum number of columns to use for displaying text.">;
1399dba64beSDimitry Andric  def ThreadFormat: Property<"thread-format", "FormatEntity">,
1409dba64beSDimitry Andric    Global,
1419dba64beSDimitry Andric    DefaultStringValue<"thread #${thread.index}: tid = ${thread.id%tid}{, ${frame.pc}}{ ${module.file.basename}{`${function.name-with-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{, name = ${ansi.fg.green}'${thread.name}'${ansi.normal}}{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}{, activity = ${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}{, ${thread.info.trace_messages} messages}{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}{\\\\nReturn value: ${thread.return-value}}{\\\\nCompleted expression: ${thread.completed-expression}}\\\\n">,
1429dba64beSDimitry Andric    Desc<"The default thread format string to use when displaying thread information.">;
1439dba64beSDimitry Andric  def ThreadStopFormat: Property<"thread-stop-format", "FormatEntity">,
1449dba64beSDimitry Andric    Global,
1459dba64beSDimitry Andric    DefaultStringValue<"thread #${thread.index}{, name = '${thread.name}'}{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}{, activity = ${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}{, ${thread.info.trace_messages} messages}{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}{\\\\nReturn value: ${thread.return-value}}{\\\\nCompleted expression: ${thread.completed-expression}}\\\\n">,
1469dba64beSDimitry Andric    Desc<"The default thread format  string to use when displaying thread information as part of the stop display.">;
1479dba64beSDimitry Andric  def UseExternalEditor: Property<"use-external-editor", "Boolean">,
1489dba64beSDimitry Andric    Global,
1499dba64beSDimitry Andric    DefaultFalse,
1509dba64beSDimitry Andric    Desc<"Whether to use an external editor or not.">;
15106c3fb27SDimitry Andric  def ExternalEditor: Property<"external-editor", "String">,
15206c3fb27SDimitry Andric    Global,
15306c3fb27SDimitry Andric    DefaultStringValue<"">,
15406c3fb27SDimitry Andric    Desc<"External editor to use when use-external-editor is enabled.">;
1559dba64beSDimitry Andric  def UseColor: Property<"use-color", "Boolean">,
1569dba64beSDimitry Andric    Global,
1579dba64beSDimitry Andric    DefaultTrue,
1589dba64beSDimitry Andric    Desc<"Whether to use Ansi color codes or not.">;
15981ad6265SDimitry Andric  def ShowProgress: Property<"show-progress", "Boolean">,
16081ad6265SDimitry Andric    Global,
16181ad6265SDimitry Andric    DefaultTrue,
16281ad6265SDimitry Andric    Desc<"Whether to show progress or not if the debugger's output is an interactive color-enabled terminal.">;
16381ad6265SDimitry Andric  def ShowProgressAnsiPrefix: Property<"show-progress-ansi-prefix", "String">,
16481ad6265SDimitry Andric    Global,
16581ad6265SDimitry Andric    DefaultStringValue<"${ansi.faint}">,
16681ad6265SDimitry Andric    Desc<"When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the progress message.">;
16781ad6265SDimitry Andric  def ShowProgressAnsiSuffix: Property<"show-progress-ansi-suffix", "String">,
16881ad6265SDimitry Andric    Global,
16981ad6265SDimitry Andric    DefaultStringValue<"${ansi.normal}">,
17081ad6265SDimitry Andric    Desc<"When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the progress message.">;
1715ffd83dbSDimitry Andric  def UseSourceCache: Property<"use-source-cache", "Boolean">,
1725ffd83dbSDimitry Andric    Global,
1735ffd83dbSDimitry Andric    DefaultTrue,
1745ffd83dbSDimitry Andric    Desc<"Whether to cache source files in memory or not.">;
1759dba64beSDimitry Andric  def AutoOneLineSummaries: Property<"auto-one-line-summaries", "Boolean">,
1769dba64beSDimitry Andric    Global,
1779dba64beSDimitry Andric    DefaultTrue,
1789dba64beSDimitry Andric    Desc<"If true, LLDB will automatically display small structs in one-liner format (default: true).">;
1799dba64beSDimitry Andric  def AutoIndent: Property<"auto-indent", "Boolean">,
1809dba64beSDimitry Andric    Global,
1819dba64beSDimitry Andric    DefaultTrue,
1829dba64beSDimitry Andric    Desc<"If true, LLDB will auto indent/outdent code. Currently only supported in the REPL (default: true).">;
1839dba64beSDimitry Andric  def PrintDecls: Property<"print-decls", "Boolean">,
1849dba64beSDimitry Andric    Global,
1859dba64beSDimitry Andric    DefaultTrue,
1869dba64beSDimitry Andric    Desc<"If true, LLDB will print the values of variables declared in an expression. Currently only supported in the REPL (default: true).">;
1879dba64beSDimitry Andric  def TabSize: Property<"tab-size", "UInt64">,
1889dba64beSDimitry Andric    Global,
1895f757f3fSDimitry Andric    DefaultUnsignedValue<2>,
1905f757f3fSDimitry Andric    Desc<"The tab size to use when indenting code in multi-line input mode (default: 2).">;
1919dba64beSDimitry Andric  def EscapeNonPrintables: Property<"escape-non-printables", "Boolean">,
1929dba64beSDimitry Andric    Global,
1939dba64beSDimitry Andric    DefaultTrue,
1949dba64beSDimitry Andric    Desc<"If true, LLDB will automatically escape non-printable and escape characters when formatting strings.">;
1959dba64beSDimitry Andric  def FrameFormatUnique: Property<"frame-format-unique", "FormatEntity">,
1969dba64beSDimitry Andric    Global,
1979dba64beSDimitry Andric    DefaultStringValue<"frame #${frame.index}: ${ansi.fg.yellow}${frame.pc}${ansi.normal}{ ${module.file.basename}{`${function.name-without-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}:${ansi.fg.yellow}${line.number}${ansi.normal}{:${ansi.fg.yellow}${line.column}${ansi.normal}}}{${function.is-optimized} [opt]}{${frame.is-artificial} [artificial]}\\\\n">,
1989dba64beSDimitry Andric    Desc<"The default frame format string to use when displaying stack frame information for threads from thread backtrace unique.">;
199e8d8bef9SDimitry Andric  def ShowAutosuggestion: Property<"show-autosuggestion", "Boolean">,
200e8d8bef9SDimitry Andric    Global,
201e8d8bef9SDimitry Andric    DefaultFalse,
202fe6060f1SDimitry Andric    Desc<"If true, LLDB will show suggestions to complete the command the user typed. Suggestions may be accepted using Ctrl-F.">;
20381ad6265SDimitry Andric  def ShowAutosuggestionAnsiPrefix: Property<"show-autosuggestion-ansi-prefix", "String">,
20481ad6265SDimitry Andric    Global,
20581ad6265SDimitry Andric    DefaultStringValue<"${ansi.faint}">,
20681ad6265SDimitry Andric    Desc<"When displaying suggestion in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the suggestion.">;
20781ad6265SDimitry Andric  def ShowAutosuggestionAnsiSuffix: Property<"show-autosuggestion-ansi-suffix", "String">,
20881ad6265SDimitry Andric    Global,
20981ad6265SDimitry Andric    DefaultStringValue<"${ansi.normal}">,
21081ad6265SDimitry Andric    Desc<"When displaying suggestion in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the suggestion.">;
2115f757f3fSDimitry Andric  def ShowRegexMatchAnsiPrefix: Property<"show-regex-match-ansi-prefix", "String">,
2125f757f3fSDimitry Andric    Global,
2135f757f3fSDimitry Andric    DefaultStringValue<"${ansi.fg.red}">,
2145f757f3fSDimitry Andric    Desc<"When displaying a regex match in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the match.">;
2155f757f3fSDimitry Andric  def ShowRegexMatchAnsiSuffix: Property<"show-regex-match-ansi-suffix", "String">,
2165f757f3fSDimitry Andric    Global,
2175f757f3fSDimitry Andric    DefaultStringValue<"${ansi.normal}">,
2185f757f3fSDimitry Andric    Desc<"When displaying a regex match in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the match.">;
2195f757f3fSDimitry Andric  def ShowDontUsePoHint: Property<"show-dont-use-po-hint", "Boolean">,
2205f757f3fSDimitry Andric    Global,
2215f757f3fSDimitry Andric    DefaultTrue,
2225f757f3fSDimitry Andric    Desc<"If true, and object description was requested for a type that does not implement it, LLDB will print a hint telling the user to consider using p instead.">;
223bdd1243dSDimitry Andric  def DWIMPrintVerbosity: Property<"dwim-print-verbosity", "Enum">,
224bdd1243dSDimitry Andric    Global,
22506c3fb27SDimitry Andric    DefaultEnumValue<"eDWIMPrintVerbosityNone">,
226bdd1243dSDimitry Andric    EnumValues<"OptionEnumValues(g_dwim_print_verbosities)">,
227bdd1243dSDimitry Andric    Desc<"The verbosity level used by dwim-print.">;
2289dba64beSDimitry Andric}
229