实现步骤分3步:

  1. 生成core文件
  2. 在linux下设置qnx gdb环境变量
  3. 设置库的查找路径

生成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 命令来设置库的查找路径,如下图: image.png

//这里的库路径可以是文件夹,也可以是库文件的路径
set solib-search-path 库路径:库路径

例子

image.png