本文介绍了要的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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 08:16
查看更多