[Lldb-commits] [lldb] fallback to assembly when source code is not available (PR #136494)
via lldb-commits
lldb-commits at lists.llvm.org
Sun Apr 20 09:03:58 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Ely Ronnen (eronnen)
<details>
<summary>Changes</summary>
Show assembly code when the source code for a frame is not available in the debugger machine
Fix #<!-- -->136492
After the fix:
[Screencast From 2025-04-20 18-00-30.webm](https://github.com/user-attachments/assets/1ce41715-cf4f-42a1-8f5c-6196b9d685dc)
---
Full diff: https://github.com/llvm/llvm-project/pull/136494.diff
1 Files Affected:
- (modified) lldb/tools/lldb-dap/JSONUtils.cpp (+3-1)
``````````diff
diff --git a/lldb/tools/lldb-dap/JSONUtils.cpp b/lldb/tools/lldb-dap/JSONUtils.cpp
index 33f10c93d2ada..5b647950cfc6e 100644
--- a/lldb/tools/lldb-dap/JSONUtils.cpp
+++ b/lldb/tools/lldb-dap/JSONUtils.cpp
@@ -750,9 +750,11 @@ llvm::json::Value CreateStackFrame(lldb::SBFrame &frame,
EmplaceSafeString(object, "name", frame_name);
auto line_entry = frame.GetLineEntry();
+ auto file_spec = line_entry.GetFileSpec();
// A line entry of 0 indicates the line is compiler generated i.e. no source
// file is associated with the frame.
- if (line_entry.GetFileSpec().IsValid() &&
+ if (file_spec.IsValid() &&
+ file_spec.Exists() &&
(line_entry.GetLine() != 0 ||
line_entry.GetLine() != LLDB_INVALID_LINE_NUMBER)) {
object.try_emplace("source", CreateSource(line_entry));
``````````
</details>
https://github.com/llvm/llvm-project/pull/136494
More information about the lldb-commits
mailing list