【问题标题】:understand GDB output for new thread (Linux systag)了解新线程的 GDB 输出(Linux 系统标签)
【发布时间】:2011-12-12 09:42:10
【问题描述】:

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

[新线程 a_hex_number (LWP a_dec_number)]

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

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

【问题讨论】:

    标签: linux gdb pthreads


    【解决方案1】:

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

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

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

    不,这是内核分配给该线程的线程 ID。这与 ps 输出中可见的内容相同(在 Linux 上,clone(2) 线程和进程在内核级别几乎没有区别)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多