天天看点

gdb和gdbserver调试开发板

1.下载gdb的源码 

 ftp://sourceware.org/pub/gdb/snapshots/current/gdb-7.11.50.20160801.tar.xz

2.编译:

cd gdb-7.11.50.20160801
./configure --target=arm-linux --prefix=$PWD/build -v
make
make install
           

至此,gdb安装完成。接下来为linux-arm安装gdbserver

$ cd gdb-7.10.1/gdb/gdbserver
$ ./configure --target=arm-linux --host=arm-linux
           

此时需要注意的是 

  1. gdbserver这个文件需要通过nfs弄到板子上去,且在板子上运行; 
  2. 与gdbserver配套的需要使用刚才编译gdb时生成的arm-linux-gdb,它在pc上运行。

3.开始远程调试

 在板子的终端中运行 :

$ gdbserver –multi 192.168.1.230:1234 a.out //板子的IP地址:自定义的一个端口
           

在PC上运行arm-linux-gdb程序 

$ arm-linux-gdb
           

显示如下: 

gdb和gdbserver调试开发板

说明gdb连接已经建立现在就可以使用gdb调试了。 

4.安装gef(GDB增强功能) 

$ wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
           

然后启动,如下状态表示安装成功

$ gdb -q /path/to/my/bin
gef➤  gef help
           

gef远程调试

remote:~ $ gdbserver 192.168.1.230:1234 /path/to/file
           

PC端

local:~ $ gdb -q
gef➤  gef-remote -t 192.168.1.230:1234 -p 666
           

安装其它插件

peda是gdb的一个插件,安装后大大提升gdb在分析逆向/溢出程序时的用户体验

 5.文件传输

  1. rz、gz,minicom下ctrl+a   s,通过串口传输文件
  2. 通过nfs传输文件
  3. 应用程序通过以太传输文件