Openwrt 远程调试

叁叁肆2018-10-22 18:40

此文已由作者吴志勐授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。


本文以自己的程序WFD为例:

1,为路由器固件刷上gdbserver

在宿主端,使用make menuconfig,选上以下两项。

1)Advanced configuration options (for developers) → Toolchain Options → Build gdb

2)Utilities → gdbserver

截图如下:




2,编译程序。

在宿主端,在自己程序的makefile头部添加:TARGET_CFLAGS += -ggdb3

然后编译软件包,编译时添加上CONFIG_DEBUG选项,否则调试时找不到符号表;当然也可以开启全局设置:Global build settings > Compile packages with debugging info。

命令:

3,开启gdbserver。

编译成功后,ssh上路由器,上传并安装软件包,然后使用gdbserver命令启动程序,这里的port可以自己指定。

命令格式:gdbserver <local_IP>:<port> <program> <args>

上图最后一行是gdb 连接上后的输出,在这里可以先忽略。

4,远程调试

在宿主端,连接server。

命令格式:

remote-gdb serverip:port executable


后面可以用gdb命令正常调试



网易云免费体验馆,0成本体验20+款云产品! 

更多网易技术、产品、运营经验分享请点击


相关文章:
【推荐】 Hive中文注释乱码解决方案(2)
【推荐】 基于开源,强于开源,轻舟微服务解决方案深度解读
【推荐】 一行代码搞定Dubbo接口调用