gdb 调试环境搭建
1、在openwrt目录下,运行 make menuconfig,进行系统进行裁剪
• 首先,make menuconfig --> Development --> gdb 和 gdbserver 都选上
• 然后 Advanced configuration options --> Toolchain optian --> Debuggers 选中gdb2、编译: make V=s -16
3、在openwrt/bin/leo-gx8010-ssd-1v-glibc/packages/base 目录下面会生成 gdbserver_7.11-1_leo.ipk 、libthread-db_2.22-1_leo.ipk两个ipk文件
4、通过scp把gdbserver_7.11-1_leo.ipk 、libthread-db_2.22-1_leo.ipk两个ipk文件 传递到开发板
如下是我操作的命令:5、在开发板上面安装gdbserver_7.11-1_leo.ipk 、 libthread-db_2.22-1_leo.ipk两个ipk文件,使用opkg安装
(1)、先安装libthread-db_2.22-1_leo.ipk,因为 libthread-db_2.22-1_leo.ipk是安装gdbserver所需要的库文件
安装命令:opkg install libthread-db_2.22-1_leo.ipk
#如果直接先安装gdbserver_7.11-1_leo.ipk会出现如下提示#如果安装libthread-db_2.22-1_leo.ipk出现如下错误请重新裁剪和编译,在把两个ipk文件重新重新传输和安装
(2)、安装gdbserver_7.11-1_leo.ipk
安装命令:opkg install gdbserver\_7.11-1\_leo.ipk
6、调试gdbserver
可以参考:https://blog.csdn.net/zhoyixing/article/details/46010423
(1)、准备好测试代码:
#测试代码的目录随意目录下面
#编译代码需要使用arm-交叉编译工具链编译,不能用gcc编译,否则开发板不能运行
如下是我这边的处理方法:
【1】配置交叉编译工具链:把openwrt/staging_dir 里面的 toolchain-arm_cortex-a7+neon_gcc-5.3.0_glibc-2.22_eabi 下面拷贝 到/opt 下面
【2】 mytest 目录下面env.sh:makefile:#注意gdb调试一定需要-g编译
在编译前先更新一下环境变量: source ./env.sh
(2)、把生成的可以行文件通过scp拷贝到开发板中,在openwrt/build_dir/target-arm_cortex-a7+neon_glibc-2.22_eabi新文件夹hello,然后生成把可执行文件拷贝到这个文件下面
(3)远程调试启动方式开发板:
我是把可执行文件拷贝到了/usr/bin 下面了
执行命令:gdbserver :9000 /usr/bin/hello Adjustment BarrierBreaker Calmer
结果:ubuntu【本地电脑】:
我是把文件拷贝到了:openwrt/build_dir/target-arm_cortex-a7+neon_glibc-2.22_eabi/hello下面
执行命令:
./scripts/remote-gdb 192.168.1.235:9000 ./build_dir/target-arm_cortex-a7+neon_glibc-2.22_eabi/hello/hello
结果:(4)gdb调试指令:
具体命令参考:https://blog.csdn.net/liigo/article/details/582231参考的文档:
https://blog.csdn.net/zimiao815/article/details/51312813
https://my.oschina.net/hevakelcj/blog/416394