2011-12-12 34 views
1

我目前正在调试一个使用pthreads的应用程序。当我附上GDB 其连续打印此表的信息:了解新线程的GDB输出(Linux systag)

[新主题a_hex_number(LWP a_dec_number

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

我的假设是否正确? 任何人都可以给我更详细的数字和他们的意思? 我已经阅读this document,但我仍然无法得到完整的图片。 可能有关Linux系统标签的信息会帮助我很多。

回答

2

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

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

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

不,这是由内核分配给该线程的线程ID。与在ps输出中可见的内容一样(在Linux上,clone(2)线程和进程在内核级别上的差异很小)。