了解新线程的GDB输出(Linux systag)

时间:2011-12-12 09:42:10

标签: linux gdb pthreads

我目前正在调试使用pthreads的应用程序。当我附加GDB时 它不断打印这种形式的信息:

[新主题 a_hex_number (LWP a_dec_number )]

我认为 a_hex_number 是一个地址,但它的地址是? 我假设 a_dec_number 是创建线程的唯一标识符,是吗?

我的假设是对的吗? 谁能给我更详细的数字及其含义? 我已经阅读了this document,但我仍然无法全面了解情况。 关于Linux系统的信息可能对我有很大帮助。

1 个答案:

答案 0 :(得分:2)

  

我假设a_hex_number是一个地址,但它的地址是什么?

它是线程描述符的地址(在Linux上也是pthread_self()调用的结果)。

  

我假设a_dec_number是创建线程的唯一标识符,是吗?

不,这是内核为此线程分配的线程ID。它与ps输出中可见的相同(在Linux上,clone(2)线程和进程在内核级别上的差异非常小。)