================ @@ -799,21 +806,22 @@ llvm::json::Value CreateStackFrame(lldb::SBFrame &frame, EmplaceSafeString(object, "name", frame_name); - auto source = CreateSource(frame); - - if (source) { - object.try_emplace("source", *source); - auto line_entry = frame.GetLineEntry(); - auto line = line_entry.GetLine(); - if (line && line != LLDB_INVALID_LINE_NUMBER) - object.try_emplace("line", line); - else - object.try_emplace("line", 0); + object.try_emplace("source", CreateSource(frame, frame_name)); + auto line_entry = frame.GetLineEntry(); + if (line_entry.IsValid() && + (line_entry.GetLine() != 0 || + line_entry.GetLine() != LLDB_INVALID_LINE_NUMBER)) { + object.try_emplace("line", line_entry.GetLine()); auto column = line_entry.GetColumn(); object.try_emplace("column", column); } else { - object.try_emplace("line", 0); - object.try_emplace("column", 0); + lldb::addr_t inst_offset = frame.GetPCAddress().GetOffset() - + frame.GetSymbol().GetStartAddress().GetOffset(); + lldb::addr_t inst_line = + inst_offset / (frame.GetThread().GetProcess().GetAddressByteSize() / 2); + // lines are base-1 indexed ---------------- JDevlieghere wrote:
```suggestion // Line numbers are 1-based. ``` https://github.com/llvm/llvm-project/pull/128268 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits