[Lldb-commits] [lldb] [lldb] Print mangled names with verbose break list (PR #84071)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 5 13:28:47 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Felipe de Azevedo Piovezan (felipepiovezan)
<details>
<summary>Changes</summary>
When debugging LLDB itself, it can often be useful to know the mangled name of the function where a breakpoint is set. Since the `--verbose` setting of `break --list` is aimed at debugging LLDB, this patch makes it so that the mangled name is also printed in that mode.
Note about testing: since mangling is not the same on Windows and Linux, the test refrains from hardcoding mangled names.
---
Full diff: https://github.com/llvm/llvm-project/pull/84071.diff
2 Files Affected:
- (modified) lldb/source/Breakpoint/BreakpointLocation.cpp (+3)
- (modified) lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py (+9)
``````````diff
diff --git a/lldb/source/Breakpoint/BreakpointLocation.cpp b/lldb/source/Breakpoint/BreakpointLocation.cpp
index f7b8ca1f5506f3..045ed145cc7c49 100644
--- a/lldb/source/Breakpoint/BreakpointLocation.cpp
+++ b/lldb/source/Breakpoint/BreakpointLocation.cpp
@@ -524,6 +524,9 @@ void BreakpointLocation::GetDescription(Stream *s,
s->EOL();
s->Indent("function = ");
s->PutCString(sc.function->GetName().AsCString("<unknown>"));
+ s->EOL();
+ s->Indent("mangled function = ");
+ s->PutCString(sc.function->GetMangled().GetMangledName().AsCString("<unknown>"));
}
if (sc.line_entry.line > 0) {
diff --git a/lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py b/lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
index 129290909029a1..c3b911145db3a6 100644
--- a/lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
+++ b/lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
@@ -90,6 +90,15 @@ def breakpoint_options_language_test(self):
num_expected_locations=1,
)
+ self.expect(
+ "breakpoint list -v",
+ "Verbose breakpoint list contains mangled names",
+ substrs=[
+ "function = ns::func"
+ "mangled function ="
+ ],
+ )
+
# This should create a breakpoint with 0 locations.
lldbutil.run_break_set_by_symbol(
self,
``````````
</details>
https://github.com/llvm/llvm-project/pull/84071
More information about the lldb-commits
mailing list