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

via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 19 13:14:59 PDT 2024


Author: Adrian Prantl
Date: 2024-04-19T13:14:55-07:00
New Revision: 08163cd9d82690e808c28515523b5fd0923d7b38

URL: https://github.com/llvm/llvm-project/commit/08163cd9d82690e808c28515523b5fd0923d7b38
DIFF: https://github.com/llvm/llvm-project/commit/08163cd9d82690e808c28515523b5fd0923d7b38.diff

LOG: [lldb] Provide a better error message for missing symbols (#89433)

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

Added: 
    

Modified: 
    lldb/source/Expression/IRExecutionUnit.cpp
    lldb/test/API/lang/cpp/constructors/TestCppConstructors.py

Removed: 
    


################################################################################
diff  --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp
index cb9bee8733e15d..07df8c52a2a4f0 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 that is not present "
+        "in 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..140877adba735a 100644
--- a/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
+++ b/lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
@@ -47,7 +47,7 @@ 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