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
此时需要注意的是
- gdbserver这个文件需要通过nfs弄到板子上去,且在板子上运行;
- 与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连接已经建立现在就可以使用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.文件传输
- rz、gz,minicom下ctrl+a s,通过串口传输文件
- 通过nfs传输文件
- 应用程序通过以太传输文件