实现步骤分3步:
- 生成core文件
- 在linux下设置qnx gdb环境变量
- 设置库的查找路径
生成core文件
//设置生成core文件大小
ulimit -c unlimited
//设置生成core文件路径
dumper -d /log/core_dir
在linux下设置qnx gdb环境变量
只要我们的电脑能编译qnx项目,实际上就是有qnx gdb环境的;使用的时候,需要source一下即可。
source qnx710_1/qnxsdp-env.sh
# QNX_HOST=/work/qnx710_1/host/linux/x86_64
# QNX_TARGET=/work/qnx710_1/target/qnx7
# MAKEFLAGS=-I/work/qnx710_1/target/qnx7/usr/include
然后就可以使用qnx gdb了,如下图:
aarch64-unknown-nto-qnx7.1.0-gdb test test.core
但是,如果test程序引用了某一些库,而gdb找不到这些符号,导致无法解析对应的符号。解决步骤见3.
设置库查找路径
我们可以使用 info sharedlibrary 命令查看缺少的库,然后使用 set solib-search-path 命令来设置库的查找路径,如下图:
//这里的库路径可以是文件夹,也可以是库文件的路径
set solib-search-path 库路径:库路径