QNX 7.0的一种crash情况

本文讲述了作者在使用aarch64-gdb解析core文件时遇到的SIGSEGV错误,通过调试追踪发现是链接系统静态库socket引发的问题,最终通过动态库解决。博主记录了解决过程和经验教训。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用qnxsdk/host/linux/x86_64/usr/bin/ntoaarch64-gdb解析core文件,得到的错误提示如下所示:

[New pid 1429543 tid 1]
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000cb7de5e48 in is_kernel_tracing_active () at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:46
46      /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c: No such file or directory.
(gdb) bt
#0  0x0000000cb7de5e48 in is_kernel_tracing_active () at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:46
#1  init_array (objs=objs@entry=0xcb7e44910 <_dl_all_objects>) at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:2273
#2  0x0000000cb7dec0a8 in init_array (objs=<optimized out>) at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:2255
#3  __ldd (frame=<optimized out>) at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:3455
#4  0x0000000cb7dec390 in ldd (frame=<optimized out>) at /builds/workspace/sdp700/build_aarch64/lib/c/ldd/ldd.c:3512
#5  0x0000000cb7de3920 in _start_ () from /home/hzh1admin/qnxsdk/target/qnx7/aarch64le/lib/libc.so.4
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

看了一顿我都没看明白到底是哪里的问题,但是肯定跟我们程序没有关系,应该是连接库的地方出问题了。通过挨个库的测试,发现我连接系统的静态库socket就有问题,换成动态库就没事了。

 记录一下备忘。。

不要问我为啥,我也不知道。。。哈哈。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值