diff options
author | Tom de Vries <tdevries@suse.de> | 2024-02-22 11:35:26 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-02-22 11:35:26 +0100 |
commit | 67cf0bd885e3862fb77de0039208d39cc89dba91 (patch) | |
tree | 5a5813a88203390dc417d6f6ab22552287204e2d /gdb/python/lib | |
parent | 852784a93664e59be090a518e6d83464bcc0cf00 (diff) | |
download | gdb-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.py | 15 |
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: |