主机使用gdb进行远程调试目标机代码的步骤:
主要要用到这两个工具:arm-linux-gnueabihf-gdb(在主机中使用)、gdbserver(在目标机中使用);这两个工具都是在交叉编译工具链中自带的,只要交叉编译工具链是正确的就不会出错。
1、先在主机上开通 nfs服务,这样在调试代码时会比较方便
在板子上使用命令挂接主机nfs: mount -t nfs -o nolock,vers=3 192.168.5.11:/home/zuozhongkai/linux/nfs /mnt(/mnt是板子上的目录,啥都行)
2、arm-linux-gnueabihf-gcc -g main.c -o main
3、拷贝 main可执行文件 和 gdbserver文件到nfs目录下
4、在目标板子上执行: ./gdbserver 192.168.0.104:8888 main (192.168.0.104是主机ip)
5、在主机上执行: arm-linux-gnueabihf-gdb -q main
之后是 target remote 192.168.0.105:8888
只要出现上面这两张图就证明连接成功了,这时就可以愉快的调试代码了。
(好像调试命令跟用 gdb的不太一样)
如果调试内核代码的话可以将vmlinux当做一般可执行文件一样
如果板子上没有网络的话可以用一下方式:KGDB和仿真器连接