[Lldb-commits] [libcxxabi] [lldb] [llvm] [lldb] Add frame-format option to highlight function names in backtraces (PR #131836)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 11 04:49:51 PDT 2025


================
@@ -208,6 +209,152 @@ static bool PrettyPrintFunctionNameWithArgs(Stream &out_stream,
   return true;
 }
 
+static std::optional<llvm::StringRef> GetDemangledBasename(Function &function) {
+  auto demangled_name = function.GetName().GetStringRef();
+  if (demangled_name.empty())
+    return std::nullopt;
+
+  const std::optional<DemangledNameInfo> &info =
+      function.GetMangled().GetDemangledInfo();
+  if (!info)
+    return std::nullopt;
+
+  // Function without a basename is nonsense.
+  if (!info->hasBasename())
+    return std::nullopt;
+
+  assert(info->BasenameRange.first < demangled_name.size());
+  assert(info->BasenameRange.second < demangled_name.size());
+
+  return demangled_name.substr(info->BasenameRange.first,
+                               info->BasenameRange.second -
+                                   info->BasenameRange.first);
----------------
labath wrote:

```suggestion
  return demangled_name.slice(info->BasenameRange.first,
                               info->BasenameRange.second);
```

https://github.com/llvm/llvm-project/pull/131836


More information about the lldb-commits mailing list