gdb调试前提
开发板默认支持gdbserver,ubuntu虚拟机支持gdb
ubuntu虚拟机gdb路径:
forlinx@ubuntu:~/ok3568/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin$
配置环境变量(路径依据客户实际路径修改):
配置完成环境变量后就可以直接在命令行调用交叉编译工具链了。
export PATH=$PATH:/home/forlinx/ok3568/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
1 设置开发板IP和端口号
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/19009146d1c4f3f42e26405e8a4b0f43.png)
2 设置虚拟机IP地址,保证可以Ping通开发板IP
使用网线连接开发板和电脑
3 在开发环境中编译应用
aarch64-linux-gnu-gcc -g gpiotest.c -o gpiotest
4 拷贝到开发板
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5aba626fc958d315defd486bef231a5d.png)
将gpiotest可执行文件拷贝到开发板,执行以下命令:
gdbserver 172.16.0.169:2345 gpiotest
其中172.16.0.169是开发板的IP地址,端口号为2345。
5 调试
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ba0cc80a9fe20ec1da5167841c3478c9.png)
切换到gpiotest可执行文件目录下:
执行以下命令:
aarch64-linux-gnu-gdb ./gpiotest
target remote 172.16.0.169:2345
此时就可以根据需求进行调试了,下面是几个常用的命令
(1)l:列出所有源代码
(2)b:设置断点
(3)c:运行到断点处
(4)s:单步运行执行
(5)n:单步执行,但是step会进入函数里面,但是next不会
(6)print a:打印a这个变量的值
(7)q:退出,输入此命令则开发板上的gdbserver也退出