aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorSimon Farre <simon.farre.cx@gmail.com>2023-06-12 21:32:46 +0200
committerSimon Farre <simon.farre.cx@gmail.com>2023-06-19 16:08:45 +0200
commitf1a614dc8f015743e9fe7fe5f3f019303f8db718 (patch)
tree2a30f02a32985a317ab4993b7bde815361fd2ba2 /gdb/python
parent74d39f70cd9090ba1cdc406421480bb50a864cd2 (diff)
downloadgdb-f1a614dc8f015743e9fe7fe5f3f019303f8db718.zip
gdb-f1a614dc8f015743e9fe7fe5f3f019303f8db718.tar.gz
gdb-f1a614dc8f015743e9fe7fe5f3f019303f8db718.tar.bz2
gdb/dap - Getting thread names
Renamed thread_name according to convention (_ first) When testing firefox tests, it is apparent that _get_threads returns threads with name field = None. I had initially thought that this was due to Firefox setting the names using /proc/pid/task/tid/comm, by writing directly to the proc fs the names, but apparently GDB seems to catch this, because I re-wrote the basic-dap.exp/c to do this specifically and it saw the changes. So I couldn't determine right now, what operation of name change that GDB does not pick up, but with this patch, GDB will pick up the thread names for an applications that set the name of a thread in ways that aren't obvious.
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/lib/gdb/dap/threads.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/python/lib/gdb/dap/threads.py b/gdb/python/lib/gdb/dap/threads.py
index c3b42ee..2537560 100644
--- a/gdb/python/lib/gdb/dap/threads.py
+++ b/gdb/python/lib/gdb/dap/threads.py
@@ -18,6 +18,12 @@ import gdb
from .server import request
from .startup import send_gdb_with_response, in_gdb_thread
+def _thread_name(thr):
+ if thr.name is not None:
+ return thr.name
+ if thr.details is not None:
+ return thr.details
+ return None
# A helper function to construct the list of threads.
@in_gdb_thread
@@ -27,7 +33,7 @@ def _get_threads():
one_result = {
"id": thr.global_num,
}
- name = thr.name
+ name = _thread_name(thr)
if name is not None:
one_result["name"] = name
result.append(one_result)