Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gdb需要QNX中的libpthread_Gdb_Qnx - Fatal编程技术网

gdb需要QNX中的libpthread

gdb需要QNX中的libpthread,gdb,qnx,Gdb,Qnx,因此,我遇到了一个严重的问题,即从foundry27(qnx软件站点)下载的gdb的qnx版本需要libpthread.So.1: qnx:/root/# gdb ldd:FATAL: Could not load library libpthread.so.1 现在这对我来说很有趣,因为根据我自己和过去的经验,QNX中没有pthread共享库,pthread内容是libc的一部分 我知道这是一个漫长的过程,但以前有人遇到过吗 编辑: qnx:/root/# uname -a QNX qnx

因此,我遇到了一个严重的问题,即从foundry27(qnx软件站点)下载的
gdb的qnx版本需要
libpthread.So.1

qnx:/root/# gdb 
ldd:FATAL: Could not load library libpthread.so.1
现在这对我来说很有趣,因为根据我自己和过去的经验,QNX中没有pthread共享库,pthread内容是libc的一部分

我知道这是一个漫长的过程,但以前有人遇到过吗

编辑:

qnx:/root/# uname -a
QNX qnx 6.5.0 2010/07/09-14:44:03EDT x86pc x86
我尝试从这里下载qnx:

我得到了nto gdb的版本,因为选项如下:

gdb-prereq-linux.tgz
gdb-prereq-win32.tgz
linux-gdb-7.6.tar.gz
win32-gdb-7.6.zip
nto-arm-gdb-7.6.tar.gz
nto-gdb-7.6.tar.gz
GDB信息

ls -l $(which -a gdb)
lrwxrwxrwx  1 501   501 10 Jul 09 14:21 /usr/qnx650/host/qnx6/x86/usr/bin/gdb -> ntox86-gdb
GDB调试信息

libs: load_object: attempt load of libpthread.so.1
debug: find_file:1151: name=libpthread.so.1 libpath=:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/ACE_wrappers/lib:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/DDS/lib:/usr/local/lib rpath=/usr/pkg/lib
debug: searchpath:1095: name=libpthread.so.1 path=/usr/pkg/lib amode=4 bufsize=1025
debug: searchpath:1119: trying /usr/pkg/lib/libpthread.so.1
debug: searchpath:1130:/usr/pkg/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1095: name=libpthread.so.1 path=:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/ACE_wrappers/lib:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/DDS/lib:/usr/local/lib amode=4 bufsize=1025
debug: searchpath:1119: trying libpthread.so.1
debug: searchpath:1130:libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/ACE_wrappers/lib/libpthread.so.1
debug: searchpath:1130:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/ACE_wrappers/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/DDS/lib/libpthread.so.1
debug: searchpath:1130:/root/SMG/extern/libs/opendds/OpenDDS_ACE_TAO/DDS/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /usr/local/lib/libpthread.so.1
debug: searchpath:1130:/usr/local/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1095: name=libpthread.so.1 path=/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib amode=4 bufsize=1025
debug: searchpath:1119: trying /proc/boot/libpthread.so.1
debug: searchpath:1130:/proc/boot/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /lib/libpthread.so.1
debug: searchpath:1130:/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /usr/lib/libpthread.so.1
debug: searchpath:1130:/usr/lib/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /lib/dll/libpthread.so.1
debug: searchpath:1130:/lib/dll/libpthread.so.1: failed (No such file or directory)
debug: searchpath:1119: trying /opt/lib/libpthread.so.1
debug: searchpath:1130:/opt/lib/libpthread.so.1: failed (No such file or directory)
debug: ldd:find_file:1175:libpthread.so.1: search failed
ldd:FATAL: Could not load library libpthread.so.1

这是因为foundry 27(后面的版本)上提供的GDB可执行文件是为QNX 6.6构建的,QNX 6.6是交叉编译并部署到系统中的,而不是本机编译的。由于没有本地开发,因此GDB可执行文件无法在QNX 6.5上工作


要解决此问题,请下载GDB可执行文件的早期版本

是的,pthread内容是QNX中libc的一部分。但是您并没有试图在QNX主机上运行gdb,是吗?(您的提示是“qnx:”确实如此)如果尝试在qnx上运行,那么下一个问题是,如果您运行的是为qnx构建的gdb版本(而不是,例如,为Linux构建的gdb),请使用“uname-a”的输出更新您的问题在您试图运行gdb的主机上,以及您从F27获取的gdb存档的完整链接上(不想猜测您可能正在使用发布在那里的几个版本中的哪个版本)。@maverick感谢您的回复,额外的信息已经添加。谢谢;uname-a的输出更可取,因为它也提供了体系结构(我假设您使用的是x86)。请再添加两个测试:1。“ls-l$(which-a gdb)”的输出(查看gdb到底是什么符号链接,以及目标上是否有多个gdb-s);2.尝试使用“DL_DEBUG=all gdb”运行gdb;这将输出大量的库解析信息,并可能提示它为什么要查找libpthread.so.1。(我从链接下载的ntox86 gdb二进制文件不包含对libpthread.so.1的任何引用,因此可能是通过另一个lib引入的。)@maverick补充道,infoHi Ben没有透露太多。您是否截断了日志的开头?我希望在开始寻找libpthread.so.1之前会有一些提示。如果你的日志实际上比你发布的要长,那么你能在开始的时候添加更多的上下文吗?您还可以运行“use-i gdb”并粘贴结果吗?这将确保我们看到的是相同的二进制文件。