Openwrt 远程调试

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

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


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

1,为路由器固件刷上gdbserver

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

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

2)Utilities → gdbserver

截图如下:

bc5add9f-443c-45dd-a393-467ae84d8bf4

647e597d-5adf-48ad-a09d-c20d4be1b879

2,编译程序。

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

c4ff2997-aca2-40cb-a8b8-34b6ca78f6a4

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

命令:

0526209f-8e89-41c9-95ac-ff4352e9d0ff

3,开启gdbserver。

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

命令格式:gdbserver <local_IP>:<port> <program> <args>
120528ef-4b3e-4654-a34c-2ed8101fd131
上图最后一行是gdb 连接上后的输出,在这里可以先忽略。

4,远程调试

在宿主端,连接server。

命令格式:

remote-gdb serverip:port executable

0313b8f4-bd8f-44f3-8c71-f3a376a76515


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

2c3bc755-9b4b-4345-8b6f-38c3aef2994b



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

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


相关文章:
【推荐】 Question|移动端虚拟机注册等作弊行为的破解之道
【推荐】 如何看待P2P领域的羊毛党?
【推荐】 测试角度的并发和幂等问题总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值