使用GDBdeug调试QNX程序
远程调试
启动GDB,比如我的host是x86_64平台,因此:
./qnx/qos223/host/linux/x86_64/usr/bin/x86_64-pc-nto-qnx7.1.0-gdb
连接远程设备,比如雷达:
target qnx 172.168.1.10:8000
设置远程工作目录到/tmp
set nto-cwd /tmp
尝试执行:
r inno_pc_server_debug --lidar-ip local --lidar-port 8002
可以使用file查看文件是否包含debug symbol file <your_program>
本地调试
vmware qnx虚拟机是x86平台的,因此可以下载.core文件至ubuntu x86机器,然后使用
./qnx/qos223/host/linux/x86_64/usr/bin/x86_64-pc-nto-qnx7.1.0-gdb xx.core来执行
问题解决
GDB调试报错Program received signal SIGILL, Illegal instruction.
通过handle SIGILL nostop暂时屏蔽该错误后
https://www.qnx.com/developers/docs/7.0.0/index.html#com.qnx.doc.neutrino.utilities/topic/g/gdb.html