From efdb47cc20cd335706e7547c8bc41b65a99ff341 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 3 Sep 2025 11:26:28 -0600 Subject: [PATCH] Use exec_and_log in next.py Some code in next.py avoids exec_and_log due to its exception behavior. Now that exec_and_log always forwards exceptions, this is easily fixed. --- gdb/python/lib/gdb/dap/next.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gdb/python/lib/gdb/dap/next.py b/gdb/python/lib/gdb/dap/next.py index a0fa18eae1d..993e9d28097 100644 --- a/gdb/python/lib/gdb/dap/next.py +++ b/gdb/python/lib/gdb/dap/next.py @@ -17,7 +17,7 @@ import gdb from .events import exec_and_expect_stop from .server import capability, request -from .startup import in_gdb_thread +from .startup import DAPException, exec_and_log, in_gdb_thread from .state import set_thread @@ -36,11 +36,9 @@ def _handle_thread_step(thread_id, single_thread, select=False): result = False arg = "off" try: - # This can fail, depending on the target, so catch the error - # and report to our caller. We can't use exec_and_log because - # that does not propagate exceptions. - gdb.execute("set scheduler-locking " + arg, from_tty=True, to_string=True) - except gdb.error: + # This can fail, depending on the target, so catch any error. + exec_and_log("set scheduler-locking " + arg) + except DAPException: result = False # Other DAP code may select a frame, and the "finish" command uses # the selected frame. -- 2.47.3