我目前正在调试使用pthreads的应用程序。当我附加GDB时 它不断打印这种形式的信息:
[新主题 a_hex_number (LWP a_dec_number )]
我认为 a_hex_number 是一个地址,但它的地址是? 我假设 a_dec_number 是创建线程的唯一标识符,是吗?
我的假设是对的吗? 谁能给我更详细的数字及其含义? 我已经阅读了this document,但我仍然无法全面了解情况。 关于Linux系统的信息可能对我有很大帮助。
答案 0 :(得分:2)
我假设a_hex_number是一个地址,但它的地址是什么?
它是线程描述符的地址(在Linux上也是pthread_self()
调用的结果)。
我假设a_dec_number是创建线程的唯一标识符,是吗?
不,这是内核为此线程分配的线程ID。它与ps
输出中可见的相同(在Linux上,clone(2)
线程和进程在内核级别上的差异非常小。)