gpt4 book ai didi

multithreading - GDB 看不到任何线程除了

转载 作者:行者123 更新时间:2023-12-05 00:40:52 28 4
gpt4 key购买 nike

除了发生崩溃的线程之外,GDB 看不到任何线程;或者当我设置断点时 SIGTRAP 会杀死我的程序。

最佳答案

这在 Linux 上经常发生,尤其是在嵌入式目标上。有两个常见的原因:

  • 您正在使用 glibc,并且您已剥离 libpthread.so.0
  • libpthread.so.0 之间的不匹配和 libthread_db.so.1

  • GDB 本身不知道如何解码由 glibc 维护的“线程控制 block ”,并被认为是 glibc 私有(private)实现细节。它使用 libthread_db.so.1 (glibc 的一部分)来帮助它这样做。因此, libthread_db.so.1libpthread.so.0版本和编译标志必须匹配。此外, libthread_db.so.1要求在 libpthread.so.0 中存在某些非全局符号.

    解决方法:使用 strip --strip-debug libpthread.so.0而不是 strip libpthread.so.0 .

    如果您在进行远程调试,请确保 libpthread.so.0在目标和 libthread_db.so.1在主机匹配。

    关于multithreading - GDB 看不到任何线程除了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376069/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com