QNX下GDB的使用
2015-12-11 13:35
106 查看
QNX提供的专用的GDB用于调试板子上的程序,这里简单介绍下用法。
QNX的GDB使用的是Server+Client的架构:在板子上,有一个后台服务qconn,用于提供QNX对外的互联服务;在PC端(Ubuntu),使用的是ntoarmv7-gdb(QNX公司对GDB做了扩展)。安装完SDP后,可以在qnx660/host/linux/x86/usr/bin/下找到这个ntoarmv7-gdb。
简单的使用过程如下:
1. 板子需要设置ip地址;
2. 默认环境中,qconn已经启动,侦听的是8000端口号。可以根据需要重启qconn进程:如换个端口号,qconn port=8888,或者你的库不在现有的LD_LIBRARY_PATH中,重新设置了LD_LIBRARY_PATH后。
3. 启动ntoarmv7-gdb。
4. 执行gdb的命令:
或者,编辑一个包含以上命令的脚本debug.sh,在gdb中:
之后,或设置断点,或直接运行等等与标准GDB没有任何区别,只是gdb退出之后,程序并未在板子上结束运行,需要手动kill一下。
追加:QNX下gdb远程调试需要启动ptys设备,即:devc-pty驱动
QNX的GDB使用的是Server+Client的架构:在板子上,有一个后台服务qconn,用于提供QNX对外的互联服务;在PC端(Ubuntu),使用的是ntoarmv7-gdb(QNX公司对GDB做了扩展)。安装完SDP后,可以在qnx660/host/linux/x86/usr/bin/下找到这个ntoarmv7-gdb。
简单的使用过程如下:
1. 板子需要设置ip地址;
2. 默认环境中,qconn已经启动,侦听的是8000端口号。可以根据需要重启qconn进程:如换个端口号,qconn port=8888,或者你的库不在现有的LD_LIBRARY_PATH中,重新设置了LD_LIBRARY_PATH后。
3. 启动ntoarmv7-gdb。
4. 执行gdb的命令:
(gdb)target qnx <board_ip>:8000 (gdb)file <your_program> (gdb)upload <your_program> /tmp/<your_program>
或者,编辑一个包含以上命令的脚本debug.sh,在gdb中:
(gdb)source debug.sh
之后,或设置断点,或直接运行等等与标准GDB没有任何区别,只是gdb退出之后,程序并未在板子上结束运行,需要手动kill一下。
追加:QNX下gdb远程调试需要启动ptys设备,即:devc-pty驱动
相关文章推荐
- Heartbeat安装与配置
- Python 程序员最常犯的十个错误
- 最大岛屿
- javaHL JNI not available
- aerospike工具集——aql
- HDFS的运行原理
- request_irq与request_threaded_irq
- XCode7无证书真机调试教程
- 父类构造函数中的this指针在子类构造对象后,这个this指针指向什么
- 最大岛屿
- iOS开发:Swift多线程GCD的使用
- iOS NSDecimalNumber详解
- zhphp framework (八) 路由引擎
- LR与SVM的异同
- MYSQL外键增删改查
- iOS----轻松掌握AFN
- uniq
- pg_stat_statements扩展安装步骤说明
- n阶汉诺塔盘问题(Hanoi)
- UIButton的几种触发方式