qtcretor通过gdb和gdbserver远程调试arm程序
来源:互联网 发布:linux 网络性能测试 编辑:程序博客网 时间:2024/05/16 00:56
环境:
Qt Creator:qtcreator2.7.1
Qt:qt4.7.0
ubuntu:12.04
arm-linux-gcc:4.5.1
gdb:7.6
一:编译arm-linux-gdb和gdbserver
(1)下载:ftp://sourceware.org/pub/gdb/releases/ 相应的版本
(2)解压到/tmp目录下面,且在gdb-7.6的目录下面创建一个_install文件夹
(3)配置:./configure –target=arm-linux –disable-tui –prefix=/tmp/gdb-7.6/_install/
(4)编译:make -j4 && make install
(5)此时,在 /tmp/gdb-7.6/_install/ 目录下,看到有 bin、lib、include 等文件夹。将这 3 个文件夹下的内容拷贝到 /opt/opt/FriendlyARM/toolschain/4.5.1 对应目录下。
(6)然后,切换目录到 /tmp/gdb-7.6/gdb/gdbserver/ 下,准备编译 gdbserver
(7)配置:./configure –target=arm-linux –host=arm-linux –prefix=/tmp/gdb-7.6/_install/server/
(8)编译:make -j4 && make install
(9)此时,我们在 /tmp/gdb-7.6/_install/server 下发现 bin 和 share 两个文件夹。bin 下面,就是我们需要的,在开发板上运行的 arm-linux-gdbserver,拷贝到板子上就行了.
(10)假如出现报错安装这几个软件包即可:sudo apt-get install texinfo libncurses5-dev m4 flex bison
(11)至此arm-linux-gdb和arm-linux-gdbserver编译好了
二:编写测试程序
(1):构建用于调试版本的构建套件如下图
编译器为配置好的交叉编译器,qt版本为arm的qt,调试器为刚才编译好并复制到工具链目录下的arm-linux-gdb
(2)新建qt程序并选择debug版本用上面的构建套件编译,并在相应的需调试的地方打上断点如下图
(3)编译为debug版本,并下载到arm开发板运行如
三:启动Qtcreator测试
(1):点击qtcreator的开始调试->关联到远程调试服务器如下图
其中服务器端口是gdbserver 10.0.0.26:4589 testgdb -qws的端口,ip地址为开发板的地址,构建套件是编译的套件,本地执行档就是那个运行在开发板上的程序然后点击确定即可。
(2)然后就可以开始使用gdb开始调试了。右侧都可以看到相应的值。
(3)其他的有待继续研究。
- qtcretor通过gdb和gdbserver远程调试arm程序
- arm远程调试 gdb和gdbserver
- GDB+Gdbserver ARM远程调试
- GDB+GdbServer: ARM程序调试
- GDB+GdbServer: ARM程序调试
- GDB+GdbServer: ARM程序调试
- GDB+GdbServer: ARM程序调试
- GDB+GdbServer: ARM程序调试
- gdb+gdbserver调试ARM程序
- 编译安装gdb+insight和gdbserver远程调试arm
- arm-linux-gdb和gdbserver调试交叉编译的程序
- gdb+gdbserver方式进行ARM程序调试
- gdb+gdbserver 方式进行ARM 程序调试
- GDB+GDBServer方式进行ARM程序调试
- GDB+GDBServer方式进行ARM程序调试
- gdb+gdbserver调试arm-linux程序
- gdb+gdbserver方式进行ARM程序调试
- gdb+gdbserver调试arm-linux程序
- Play framework使用java代码自定义标签--FastTags
- 《javascript从入门到精通》第三篇 javascript高级应用
- 如何才能用C语言代码帅气地获取现在是今年的第几天呢?
- 挂载nfs磁盘
- [leetcode] 103.Binary Tree Zigzag Level Order Traversal
- qtcretor通过gdb和gdbserver远程调试arm程序
- 哎妈呀
- mybatis 拼接动态表名、字段名
- 从尾到头打印链表每个节点的值。
- jquery扩展插件
- Java OutOfMemory异常清单 —— 在自己的机器上制造内存溢出
- Linux安装Nginx报错make: *** No targets specified and no makefile found. Stop.解决方法
- php的构造函数解析
- 设计模式-单例模式