[binutils-gdb] Handle case where DAP line can be None

Tom Tromey tromey@sourceware.org
Mon Jan 13 14:41:53 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=28e585134434ee2c65df5001e4494c1b4adcd204

commit 28e585134434ee2c65df5001e4494c1b4adcd204
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jan 6 07:45:33 2025 -0700

    Handle case where DAP line can be None
    
    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

Diff:
---
 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


More information about the Gdb-cvs mailing list