我用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就有问题,换成动态库就没事了。
记录一下备忘。。
不要问我为啥,我也不知道。。。哈哈。。