[Lldb-commits] [lldb] [lldb] Provide a better error message for missing symbols (PR #89433)

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 19 11:24:59 PDT 2024


https://github.com/adrian-prantl created https://github.com/llvm/llvm-project/pull/89433

This adds a hint to the missing symbols error message to make it easier to understand what this means to users.

>From d57f2adff84dc5148c417135aa4733e05476876c Mon Sep 17 00:00:00 2001
From: Adrian Prantl <aprantl at apple.com>
Date: Fri, 19 Apr 2024 11:08:16 -0700
Subject: [PATCH] [lldb] Provide a better error message for missing symbols

This adds a hint to the missing symbols error message to make it
easier to understand what this means to users.
---
 lldb/source/Expression/IRExecutionUnit.cpp                 | 4 +++-
 lldb/test/API/lang/cpp/constructors/TestCppConstructors.py | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp
index cb9bee8733e15d..8d4e5aaf9fe7ea 100644
--- a/lldb/source/Expression/IRExecutionUnit.cpp
+++ b/lldb/source/Expression/IRExecutionUnit.cpp
@@ -431,7 +431,9 @@ void IRExecutionUnit::GetRunnableInfo(Status &error, lldb::addr_t &func_addr,
     }
 
     m_failed_lookups.clear();
-
+    ss.PutCString(
+        "\nHint: The expression tried to call a function missing from the "
+        "target, perhaps because it was optimized out by the compiler.");
     error.SetErrorString(ss.GetString());
 
     return;
diff --git a/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py b/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
index 6724bfc8ed78e0..d73b2af1ca077c 100644
--- a/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
+++ b/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
@@ -47,7 +47,8 @@ def test_constructors(self):
         self.expect(
             "expr ClassWithDeletedDefaultCtor().value",
             error=True,
-            substrs=["Couldn't look up symbols:"],
+            substrs=["Couldn't look up symbols:",
+                     "function missing"],
         )
 
     @skipIfWindows  # Can't find operator new.



More information about the lldb-commits mailing list