嵌入式linux远程gdb调试(基于x86架构)
来源:互联网 发布:站长源码下载 编辑:程序博客网 时间:2024/06/05 18:31
基于x86的板子
下载gdb源码
http://ftp.gnu.org/gnu/gdb/
一般linux发行版中都有一个可以运行的gdb,但开发人员不能直接使用该发行版中的gdb来做远程调试
远程调试中,目标机需要包含两个程序 gdbserver和需要调试的程序(例如gdbtest)
#tar -zxvf gdb-7.9.tar.gz
编译GDB Server
#cd gdb-7.9
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb
#make
#cd ./gdb/gdbserver
#./configure
#make
编译调试程序
若目标机包含的库全面则
gcc -g gdbtest.c -o gdbtest
若库不全,可以静态编译程序
gcc -g gdbtest.c -static -o gdbtest
("ldd 程序名"可以查看程序所要用到的库文件)
把编译好的gdbserver和gdbtest通过ftp,nfs等方法下载到目标机的嵌入式linux系统
并且放在/home目录下(因为pc宿主机的gdbtest在/home目录下)
假设目标机ip为192.168.0.16
宿主机ip为192.168.0.4
先在目标机/home下运行命令:./gdbserver 192.168.0.4:1234 gdbtest
注:1234是用于通信端口号,一般不要用1024一下的端口,因为这些端口有特殊作用
gdbtest是需要调试的程序
当出现
Process wpa_cli created; pid = 730
Listening on port 1234
表明目标机已经准备好正在监听1234端口
再在宿主机下的/home目录下运行命令gdb gdbtest
进入gdb调试命令行
再输入命令target remote 192.168.0.16:1234回车
这时目标机会出现
Remote debugging from host 192.168.100.1
表示gdbserver成功运行并且建立连接关系,等待客户端的调试信息
之后就可以在宿主机上和本地gdb调试一样调试程序了。
注意事项:目标机运行gdbserver前要确保网络通常。
若联接成功后调试中出现某些gdb调试命令无法使用(例如list命令),可能是目标机包含的运行库不全
可在宿主机运行ldd+程序名 查看程序运行所需的库。
0 0
- 嵌入式linux远程gdb调试(基于x86架构)
- Eclipse+Gdb+嵌入式远程调试
- 嵌入式的 gdb 远程调试
- gdb远程调试嵌入式程序
- GDB远程调试技术 (基于mini2440)
- 嵌入式Linux系统的GDB远程调试的实现
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式Linux系统的GDB远程调试实践
- 嵌入式Linux系统的GDB远程调试实践
- 嵌入式Linux系统的GDB远程调试实践(转)
- 嵌入式Linux系统的GDB远程调试的实现
- 嵌入式开发远程调试arm-linux-gdb的移植
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式Linux系统的GDB远程调试的实现
- 嵌入式Linux的GDB远程调试的实现
- 2. Add Two Numbers
- 2.2.3、管理容器里的数据
- Java8-default / defender关键字
- Xcode6 StoryBoard页面跳转和传值
- 一个支持tcp多客户端连接的例子,轻松认识linux select函数的基本原理和使用方法
- 嵌入式linux远程gdb调试(基于x86架构)
- 设计模式-访问者模式
- 【Android】 由ListView+ ViewHolder想到的
- 怎么发布一个pom项目且打包maven源码,将源码包与jar包一同deploy到mavenserver
- HDU 1203 I Need A Offer
- HDU1712 ACboy needs your help(分组背包)
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- zzuli OJ 1073: 海军节上的鸣炮声计算
- Android自定义View的实现方法,带你一步步深入了解View(四)