gdbserver移植使用
来源:互联网 发布:淘宝配货单打印 编辑:程序博客网 时间:2024/06/05 13:25
gdbserver移植使用
gdbserver的使用
gdbserver用法其实和gdb是一样的
记住在Ubuntu12.04中默认没有arm-linux-gdb的,必须下载gdb.gz并编译安装。
还要记住一点Ubuntu12.04中默认的gdb和arm-linux-gdb是不一样的。
- linux板子:
gdbserver 192.168.1.108:2222 run.exe
- Ubuntu12.04机子:
arm-linux-gdb run.exe
//如果不加run.exe会没有symbol的target remote 192.168.1.108:2222
why要用gdbserver
首先明白gdb是用来干什么
先试试gdb是用来干什么的,网上资料一大堆。参考:http://blog.csdn.net/v__king__/article/details/58192272gdbserver干什么的
-某些时候由于模拟环境的限制,调试必须要在目标板上进行。由于嵌入式系统资源比较有限,一般不能在目标板上直接构建GDB的调试环境,这时我们通常采用gdb+gdbserver的远程调试方法:gdbserver在目标板中运行,而gdb则在主机上运行。
-构建gdb+gdbserver调试环境的在于,要将gdb和gdbserver都编译成适用于目标板的版本。比如我们用x86的主机和ARM目标板,平时在主机上直接调试的时候都使用用于x86调试的gdb,但这个gdb不能用于远程调试中,需要针对ARM平台进行配置之后重新编译才行;而gdbserver要运行在目标板上,则需要用arm-linux-gcc编译才行。
如何安装gdbserver 到linux的板子上
参考:http://www.cnblogs.com/huaping-audio/archive/2009/06/19/1506898.html
1. 保证arm-linux-gcc和gdbserver版本能兼容,能对得上号
2. 下载gdb
下载地址:http://ftp.gnu.org/gnu/gdb/
3. 编译gdb或者执行gdbserver 192.168.1.108:2222 run.exe
出现错误:gdbserver libthread_db.so.1: cannot open shared object file: No such file or directory
原因: 在linux的板子上没有gdbserver用到的动态库libthread_db.so.1 。
解决:我们会想linux板子所用的动态库会在什么地方呢?在交叉编译工具的arm-linux中去找,注意动态库一般是链接ln。将该库cp到linux板子的/lib目录下cp libthread_db-1.0.so /lib
,然后ln -s libthread_db-1.0.so libthread_db.so.1
问题:没有termcap的库原因:后来的Ubuntu没有这个库了解决:下载termcap.1_3_1.gz,编译安装: ./configue ; make ; sudo make install
4. 想办法将gdbserver复制到linux板子上,可以用scp,ftp,tftp等
运行调试
- linux板子:
gdbserver 192.168.1.108:2222 run.exe
- Ubuntu12.04机子:
arm-linux-gdb run.exe
//如果不加run.exe会没有symbol的target remote 192.168.1.108:2222
假如运行的是arm-linux-gdb
的话并不会出现错误,但是没有symbol的,也就不能设置断点
补充知识
./configure –host –target
build: 执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。
host: 编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host不同。用host指定运行主机。
target: 这个选项只有在建立交叉编译环境的时候用到,正常编译和交叉编译都不会用到。他用build主机上的编译器,编译一个新的编译器(binutils, gcc,gdb等),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上。
- gdbserver移植使用
- gdbserver移植
- gdbserver 移植
- gdbserver移植
- gdbserver工具移植及使用简介
- gdbserver 使用
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- gdbserver 使用中的问题
- 使用gdb和gdbserver
- 使用gdb和gdbserver
- 学习笔记:使用gdbserver
- mysql处理海量数据时的一些优化查询速度方法
- 自学Android资料大全
- web界面优化-测试经验教训日记
- JSX语法详解
- Bootstrap Multiselect中文api
- gdbserver移植使用
- 在.NET Core控制台应用程序中使用强类型配置
- 团体程序设计天梯赛L2-003 月饼
- jquery easyui Tabs 隐藏状态下 调用方法无效 的BUG
- opencv中的Mat、CvMat以及IplImage介绍以及三者之间的转换
- Java获取post请求json数据
- 基础练习 2n皇后问题 (两次DFS)
- 30条Android开发建议
- 利用NuSoap开发WebService(PHP)