aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/lib
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-02-22 11:35:26 +0100
committerTom de Vries <tdevries@suse.de>2024-02-22 11:35:26 +0100
commit67cf0bd885e3862fb77de0039208d39cc89dba91 (patch)
tree5a5813a88203390dc417d6f6ab22552287204e2d /gdb/python/lib
parent852784a93664e59be090a518e6d83464bcc0cf00 (diff)
downloadgdb-67cf0bd885e3862fb77de0039208d39cc89dba91.zip
gdb-67cf0bd885e3862fb77de0039208d39cc89dba91.tar.gz
gdb-67cf0bd885e3862fb77de0039208d39cc89dba91.tar.bz2
[gdb/dap] Factor out thread_log
In thread_wrapper I used a style where a message is prefixed with the thread name. Factor this out into a new function thread_log. Also treat the GDB main thread special, because it's usual name is MainThread: ... MainThread: <msg> ... which is the default name assigned by python, so instead use the more explicit: ... GDB main: <msg> ... Tested on aarch64-linux. Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/python/lib')
-rw-r--r--gdb/python/lib/gdb/dap/startup.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/gdb/python/lib/gdb/dap/startup.py b/gdb/python/lib/gdb/dap/startup.py
index 0a42c91..29fe78e 100644
--- a/gdb/python/lib/gdb/dap/startup.py
+++ b/gdb/python/lib/gdb/dap/startup.py
@@ -64,7 +64,6 @@ def start_thread(name, target, args=()):
correctly blocked."""
def thread_wrapper(*args):
- thread_name = threading.current_thread().name
# Catch any exception, and log it. If we let it escape here, it'll be
# printed in gdb_stderr, which is not safe to access from anywhere but
# gdb's main thread.
@@ -72,11 +71,11 @@ def start_thread(name, target, args=()):
target(*args)
except Exception as err:
err_string = "%s, %s" % (err, type(err))
- log(thread_name + ": caught exception: " + err_string)
+ thread_log("caught exception: " + err_string)
log_stack()
finally:
# Log when a thread terminates.
- log(thread_name + ": terminating")
+ thread_log("terminating")
result = gdb.Thread(name=name, target=thread_wrapper, args=args, daemon=True)
result.start()
@@ -178,6 +177,16 @@ def log(something, level=LogLevel.DEFAULT):
dap_log.log_file.flush()
+def thread_log(something, level=LogLevel.DEFAULT):
+ """Log SOMETHING to the log file, if logging is enabled, and prefix
+ the thread name."""
+ if threading.current_thread() is _gdb_thread:
+ thread_name = "GDB main"
+ else:
+ thread_name = threading.current_thread().name
+ log(thread_name + ": " + something, level)
+
+
def log_stack(level=LogLevel.DEFAULT):
"""Log a stack trace to the log file, if logging is enabled."""
with dap_log.lock: