[PATCH] Handle case where DAP line can be None

Tom Tromey tromey@adacore.com
Mon Jan 6 14:47:27 GMT 2025


A comment in bugzilla pointed out a bug in my earlier patch to handle
the DAP "linesStartAt1" setting.  In particular, in the backtrace
code, "line" can be None, which would lead to an exception from
export_line.

This patch fixes the problem.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32468
---
 gdb/python/lib/gdb/dap/bt.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gdb/python/lib/gdb/dap/bt.py b/gdb/python/lib/gdb/dap/bt.py
index a27c61a6cda..0fefa694c9a 100644
--- a/gdb/python/lib/gdb/dap/bt.py
+++ b/gdb/python/lib/gdb/dap/bt.py
@@ -84,9 +84,9 @@ def _backtrace(thread_id, levels, startFrame, stack_format):
                 "column": 0,
                 "instructionPointerReference": hex(pc),
             }
-            line = export_line(current_frame.line())
+            line = current_frame.line()
             if line is not None:
-                newframe["line"] = line
+                newframe["line"] = export_line(line)
                 if stack_format["line"]:
                     # Unclear whether export_line should be called
                     # here, but since it's just for users we pick the
-- 
2.47.0



More information about the Gdb-patches mailing list