JDevlieghere updated this revision to Diff 204842.
JDevlieghere added a comment.
Match dwarfdump color scheme
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62743/new/
https://reviews.llvm.org/D62743
Files:
lldb/source/Core/Debugger.cpp
Index: lldb/source/Core/Debugger.cpp
===================================================================
--- lldb/source/Core/Debugger.cpp
+++ lldb/source/Core/Debugger.cpp
@@ -101,14 +101,14 @@
"Show disassembly when there is no source information, or the source file "
"is missing when displaying a stop context."},
{Debugger::eStopDisassemblyTypeAlways, "always",
- "Always show disassembly when displaying a stop context."} };
+ "Always show disassembly when displaying a stop context."}};
static constexpr OptionEnumValueElement g_language_enumerators[] = {
{eScriptLanguageNone, "none", "Disable scripting languages."},
{eScriptLanguagePython, "python",
"Select python as the default scripting language."},
{eScriptLanguageDefault, "default",
- "Select the lldb default as the default scripting language."} };
+ "Select the lldb default as the default scripting language."}};
#define MODULE_WITH_FUNC \
"{ " \
@@ -121,7 +121,9 @@
"{${frame.no-debug}${function.pc-offset}}}}"
#define FILE_AND_LINE \
- "{ at ${line.file.basename}:${line.number}{:${line.column}}}"
+ "{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}" \
+ ":${line.number}{:${line.column}}}"
+
#define IS_OPTIMIZED "{${function.is-optimized} [opt]}"
#define IS_ARTIFICIAL "{${frame.is-artificial} [artificial]}"
@@ -129,32 +131,36 @@
#define DEFAULT_THREAD_FORMAT \
"thread #${thread.index}: tid = ${thread.id%tid}" \
"{, ${frame.pc}}" MODULE_WITH_FUNC FILE_AND_LINE \
- "{, name = '${thread.name}'}" \
- "{, queue = '${thread.queue}'}" \
- "{, activity = '${thread.info.activity.name}'}" \
+ "{, 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 = ${thread.stop-reason}}" \
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}" \
"{\\nReturn value: ${thread.return-value}}" \
"{\\nCompleted expression: ${thread.completed-expression}}" \
"\\n"
#define DEFAULT_THREAD_STOP_FORMAT \
"thread #${thread.index}{, name = '${thread.name}'}" \
- "{, queue = '${thread.queue}'}" \
- "{, activity = '${thread.info.activity.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 = ${thread.stop-reason}}" \
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}" \
"{\\nReturn value: ${thread.return-value}}" \
"{\\nCompleted expression: ${thread.completed-expression}}" \
"\\n"
#define DEFAULT_FRAME_FORMAT \
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC FILE_AND_LINE \
+ "frame #${frame.index}: " \
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC FILE_AND_LINE \
IS_OPTIMIZED IS_ARTIFICIAL "\\n"
#define DEFAULT_FRAME_FORMAT_NO_ARGS \
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC_NO_ARGS FILE_AND_LINE \
- IS_OPTIMIZED IS_ARTIFICIAL "\\n"
+ "frame #${frame.index}: " \
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC_NO_ARGS \
+ FILE_AND_LINE IS_OPTIMIZED IS_ARTIFICIAL "\\n"
// Three parts to this disassembly format specification:
// 1. If this is a new function/symbol (no previous symbol/function), print
@@ -186,9 +192,10 @@
"Highlight the stop column with ANSI terminal codes when color/ANSI mode "
"is enabled; otherwise, fall back to using a text-only caret (^) as if "
"\"caret-only\" mode was selected."},
- {eStopShowColumnAnsi, "ansi", "Highlight the stop column with ANSI "
- "terminal codes when running LLDB with "
- "color/ANSI enabled."},
+ {eStopShowColumnAnsi, "ansi",
+ "Highlight the stop column with ANSI "
+ "terminal codes when running LLDB with "
+ "color/ANSI enabled."},
{eStopShowColumnCaret, "caret",
"Highlight the stop column with a caret character (^) underneath the stop "
"column. This method introduces a new line in source listings that "
@@ -196,90 +203,191 @@
{eStopShowColumnNone, "none", "Do not highlight the stop column."}};
static constexpr PropertyDefinition g_properties[] = {
- {"auto-confirm", OptionValue::eTypeBoolean, true, false, nullptr, {},
+ {"auto-confirm",
+ OptionValue::eTypeBoolean,
+ true,
+ false,
+ nullptr,
+ {},
"If true all confirmation prompts will receive their default reply."},
- {"disassembly-format", OptionValue::eTypeFormatEntity, true, 0,
- DEFAULT_DISASSEMBLY_FORMAT, {},
+ {"disassembly-format",
+ OptionValue::eTypeFormatEntity,
+ true,
+ 0,
+ DEFAULT_DISASSEMBLY_FORMAT,
+ {},
"The default disassembly format "
"string to use when disassembling "
"instruction sequences."},
- {"frame-format", OptionValue::eTypeFormatEntity, true, 0,
- DEFAULT_FRAME_FORMAT, {},
+ {"frame-format",
+ OptionValue::eTypeFormatEntity,
+ true,
+ 0,
+ DEFAULT_FRAME_FORMAT,
+ {},
"The default frame format string to use "
"when displaying stack frame information "
"for threads."},
- {"notify-void", OptionValue::eTypeBoolean, true, false, nullptr, {},
+ {"notify-void",
+ OptionValue::eTypeBoolean,
+ true,
+ false,
+ nullptr,
+ {},
"Notify the user explicitly if an expression returns void (default: "
"false)."},
- {"prompt", OptionValue::eTypeString, true,
- OptionValueString::eOptionEncodeCharacterEscapeSequences, "(lldb) ", {},
+ {"prompt",
+ OptionValue::eTypeString,
+ true,
+ OptionValueString::eOptionEncodeCharacterEscapeSequences,
+ "(lldb) ",
+ {},
"The debugger command line prompt displayed for the user."},
{"script-lang", OptionValue::eTypeEnum, true, eScriptLanguagePython,
nullptr, OptionEnumValues(g_language_enumerators),
"The script language to be used for evaluating user-written scripts."},
- {"stop-disassembly-count", OptionValue::eTypeSInt64, true, 4, nullptr, {},
+ {"stop-disassembly-count",
+ OptionValue::eTypeSInt64,
+ true,
+ 4,
+ nullptr,
+ {},
"The number of disassembly lines to show when displaying a "
"stopped context."},
{"stop-disassembly-display", OptionValue::eTypeEnum, true,
Debugger::eStopDisassemblyTypeNoDebugInfo, nullptr,
OptionEnumValues(g_show_disassembly_enum_values),
"Control when to display disassembly when displaying a stopped context."},
- {"stop-line-count-after", OptionValue::eTypeSInt64, true, 3, nullptr, {},
+ {"stop-line-count-after",
+ OptionValue::eTypeSInt64,
+ true,
+ 3,
+ nullptr,
+ {},
"The number of sources lines to display that come after the "
"current source line when displaying a stopped context."},
- {"stop-line-count-before", OptionValue::eTypeSInt64, true, 3, nullptr, {},
+ {"stop-line-count-before",
+ OptionValue::eTypeSInt64,
+ true,
+ 3,
+ nullptr,
+ {},
"The number of sources lines to display that come before the "
"current source line when displaying a stopped context."},
- {"highlight-source", OptionValue::eTypeBoolean, true, true, nullptr, {},
+ {"highlight-source",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
+ {},
"If true, LLDB will highlight the displayed source code."},
{"stop-show-column", OptionValue::eTypeEnum, false,
- eStopShowColumnAnsiOrCaret, nullptr, OptionEnumValues(s_stop_show_column_values),
+ eStopShowColumnAnsiOrCaret, nullptr,
+ OptionEnumValues(s_stop_show_column_values),
"If true, LLDB will use the column information from the debug info to "
"mark the current position when displaying a stopped context."},
- {"stop-show-column-ansi-prefix", OptionValue::eTypeString, true, 0,
- "${ansi.underline}", {},
+ {"stop-show-column-ansi-prefix",
+ OptionValue::eTypeString,
+ true,
+ 0,
+ "${ansi.underline}",
+ {},
"When displaying the column marker in a color-enabled (i.e. ANSI) "
"terminal, use the ANSI terminal code specified in this format at the "
"immediately before the column to be marked."},
- {"stop-show-column-ansi-suffix", OptionValue::eTypeString, true, 0,
- "${ansi.normal}", {},
+ {"stop-show-column-ansi-suffix",
+ OptionValue::eTypeString,
+ true,
+ 0,
+ "${ansi.normal}",
+ {},
"When displaying the column marker in a color-enabled (i.e. ANSI) "
"terminal, use the ANSI terminal code specified in this format "
"immediately after the column to be marked."},
- {"term-width", OptionValue::eTypeSInt64, true, 80, nullptr, {},
+ {"term-width",
+ OptionValue::eTypeSInt64,
+ true,
+ 80,
+ nullptr,
+ {},
"The maximum number of columns to use for displaying text."},
- {"thread-format", OptionValue::eTypeFormatEntity, true, 0,
- DEFAULT_THREAD_FORMAT, {},
+ {"thread-format",
+ OptionValue::eTypeFormatEntity,
+ true,
+ 0,
+ DEFAULT_THREAD_FORMAT,
+ {},
"The default thread format string to use "
"when displaying thread information."},
- {"thread-stop-format", OptionValue::eTypeFormatEntity, true, 0,
- DEFAULT_THREAD_STOP_FORMAT, {},
+ {"thread-stop-format",
+ OptionValue::eTypeFormatEntity,
+ true,
+ 0,
+ DEFAULT_THREAD_STOP_FORMAT,
+ {},
"The default thread format "
"string to use when displaying thread "
"information as part of the stop display."},
- {"use-external-editor", OptionValue::eTypeBoolean, true, false, nullptr, {},
+ {"use-external-editor",
+ OptionValue::eTypeBoolean,
+ true,
+ false,
+ nullptr,
+ {},
"Whether to use an external editor or not."},
- {"use-color", OptionValue::eTypeBoolean, true, true, nullptr, {},
+ {"use-color",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
+ {},
"Whether to use Ansi color codes or not."},
- {"auto-one-line-summaries", OptionValue::eTypeBoolean, true, true, nullptr,
+ {"auto-one-line-summaries",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
{},
"If true, LLDB will automatically display small structs in "
"one-liner format (default: true)."},
- {"auto-indent", OptionValue::eTypeBoolean, true, true, nullptr, {},
+ {"auto-indent",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
+ {},
"If true, LLDB will auto indent/outdent code. Currently only supported in "
"the REPL (default: true)."},
- {"print-decls", OptionValue::eTypeBoolean, true, true, nullptr, {},
+ {"print-decls",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
+ {},
"If true, LLDB will print the values of variables declared in an "
"expression. Currently only supported in the REPL (default: true)."},
- {"tab-size", OptionValue::eTypeUInt64, true, 4, nullptr, {},
+ {"tab-size",
+ OptionValue::eTypeUInt64,
+ true,
+ 4,
+ nullptr,
+ {},
"The tab size to use when indenting code in multi-line input mode "
"(default: 4)."},
- {"escape-non-printables", OptionValue::eTypeBoolean, true, true, nullptr,
+ {"escape-non-printables",
+ OptionValue::eTypeBoolean,
+ true,
+ true,
+ nullptr,
{},
"If true, LLDB will automatically escape non-printable and "
"escape characters when formatting strings."},
- {"frame-format-unique", OptionValue::eTypeFormatEntity, true, 0,
- DEFAULT_FRAME_FORMAT_NO_ARGS, {},
+ {"frame-format-unique",
+ OptionValue::eTypeFormatEntity,
+ true,
+ 0,
+ DEFAULT_FRAME_FORMAT_NO_ARGS,
+ {},
"The default frame format string to use when displaying stack frame"
"information for threads from thread backtrace unique."}};
@@ -317,7 +425,8 @@
VarSetOperationType op,
llvm::StringRef property_path,
llvm::StringRef value) {
- bool is_load_script = (property_path == "target.load-script-from-symbol-file");
+ bool is_load_script =
+ (property_path == "target.load-script-from-symbol-file");
bool is_escape_non_printables = (property_path == "escape-non-printables");
TargetSP target_sp;
LoadScriptFromSymFile load_script_old_value;
@@ -710,8 +819,7 @@
}
}
-DebuggerSP
-Debugger::FindDebuggerWithInstanceName(ConstString instance_name) {
+DebuggerSP Debugger::FindDebuggerWithInstanceName(ConstString instance_name) {
DebuggerSP debugger_sp;
if (g_debugger_list_ptr && g_debugger_list_mutex_ptr) {
std::lock_guard<std::recursive_mutex> guard(*g_debugger_list_mutex_ptr);
@@ -1631,12 +1739,14 @@
eBroadcastBitEventThreadIsListening);
auto thread_name =
- full_name.GetLength() < llvm::get_max_thread_name_length() ?
- full_name.AsCString() : "dbg.evt-handler";
+ full_name.GetLength() < llvm::get_max_thread_name_length()
+ ? full_name.AsCString()
+ : "dbg.evt-handler";
// Use larger 8MB stack for this thread
- m_event_handler_thread = ThreadLauncher::LaunchThread(thread_name,
- EventHandlerThread, this, nullptr, g_debugger_event_thread_stack_bytes);
+ m_event_handler_thread = ThreadLauncher::LaunchThread(
+ thread_name, EventHandlerThread, this, nullptr,
+ g_debugger_event_thread_stack_bytes);
// Make sure DefaultEventHandler() is running and listening to events
// before we return from this function. We are only listening for events of
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits