|
@@ -114,3 +114,22 @@ variable."""
|
|
|
|
|
|
|
|
|
LxThreadInfoFunc()
|
|
|
+
|
|
|
+
|
|
|
+class LxThreadInfoByPidFunc (gdb.Function):
|
|
|
+ """Calculate Linux thread_info from task variable found by pid
|
|
|
+
|
|
|
+$lx_thread_info_by_pid(PID): Given PID, return the corresponding thread_info
|
|
|
+variable."""
|
|
|
+
|
|
|
+ def __init__(self):
|
|
|
+ super(LxThreadInfoByPidFunc, self).__init__("lx_thread_info_by_pid")
|
|
|
+
|
|
|
+ def invoke(self, pid):
|
|
|
+ task = get_task_by_pid(pid)
|
|
|
+ if task:
|
|
|
+ return get_thread_info(task.dereference())
|
|
|
+ else:
|
|
|
+ raise gdb.GdbError("No task of PID " + str(pid))
|
|
|
+
|
|
|
+LxThreadInfoByPidFunc()
|