GDB是The GNU Project Debugger的缩写,是Linux下功能全面的调试工具。GDB支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在Linux环境软件开发中,GDB是主要的调试工具,用来调试C和C++程序。 ELF 1默认支持gdbserver,同时我们提供的开发环境默认支持gdb。

1、编译应用。
编译的时候必须加上“-g”选项,这样编译出来的可执行文件才带有调试信息。
1)ARM架构(开发板)
elf@ubuntu:~$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
elf@ubuntu:~$ $CC -g 485-test.c -o 485-test -lpthread
elf@ubuntu:~$ file 485-test
图片1.png
将编译生成的485-test应用拷贝到开发板/home/root路径下。
2)x86架构(ubuntu)
elf@ubuntu:~$ gcc -g 485-test.c -o 485-test -lpthread
图片2.png

2、GDB调试。
确保ubuntu和开发板网络连接正常(互相可以ping通)。
1)开发板
root@ELF1:~# gdbserver 192.168.2.101:2345 485-test
Process 485-test created; pid = 862
Listening on port 2345
上述命令中192.168.2.101为ubuntu的IP地址;2345是端口号,可以任意给一个端口号;485-test是要调试的可执行文件。
2)ubuntu
elf@ubuntu:~$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
elf@ubuntu:~$ arm-poky-linux-gnueabi-gdb 485-test
在下面的(gdb)行输入target remote 192.168.2.99:2345命令连接到开发板上。
图片3.png
上述命令中192.168.1.251为开发板的IP地址;2345是开发板gdbserver设置的端口号。连接成功后开发板中的gdbserver就会提示连接信息。
图片4.png
连接成功后就可以在ubuntu上进行代码调试了。

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.