本文介绍了要的pthread_t GDB线程ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有谁知道一种方法从一个的pthread_t去什么GDB显示与信息的主题?
Does anyone know a way to go from a pthread_t to what GDB displays with info threads?
所以我有:
(gdb) info threads
37 Thread 22887 0xb7704422 in __kernel_vsyscall ()
36 Thread 22926 0xb7704422 in __kernel_vsyscall ()
35 Thread 22925 0xb7704422 in __kernel_vsyscall ()
34 Thread 22924 0xb7704422 in __kernel_vsyscall ()
33 Thread 22922 0xb7704422 in __kernel_vsyscall ()
32 Thread 22921 0xb7704422 in __kernel_vsyscall ()
(gdb) p m_messageQueue->m_creationThread
$3 = 2694822768
(gdb) p/x m_messageQueue->m_creationThread
$4 = 0xa09fbb70
有谁知道我是怎么想出这个是哪个线程?这似乎是22768,但没有我的线程去低。
Does anyone know how I figure out which thread this is? It would appear to be 22768, but none of my threads go that low.
推荐答案
的pthread_t的价值是不一样的线程的系统依赖线程ID(在Linux中 gettid(2)
),它在你看到GDB
The value of pthread_t is not the same as that thread's system dependent thread id (in Linux gettid(2)
) which you see in GDB.
AFAIK,没有在两者之间转换任何功能。你需要保持的该轨道自己。
AFAIK, there isn't any function to convert between the two. You need to keep track of that yourself.
这篇关于要的pthread_t GDB线程ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!