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

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

本文以自己的程序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+款云产品!

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

相关文章:
【推荐】 360°透视:云原生架构演进
【推荐】 Spring Boot + Mybatis 多数据源配置实现读写分离
【推荐】 人工智能的全面科普

最新文章

  1. PHP生成唯一会员卡号
  2. Spring-data-jpa详解,全方位介绍。
  3. YTU 2987: 调整表中元素顺序(线性表)
  4. 1045 整数礼物 c语言
  5. PHP之路,Day1 - PHP基础
  6. 使用HttpClient发送请求、接收响应
  7. 懒加载 jquery代码
  8. 【BZOJ 2693】jzptab(莫比乌斯+分块)
  9. html_day2
  10. Django之路: 基本命令与网址进阶
  11. 201521123074 《Java程序设计》第1周学习总结
  12. IPFS 使用入门
  13. 朱晔的互联网架构实践心得S1E1:Pilot
  14. BZOJ.5286.[AHOI/HNOI2018]转盘(线段树)
  15. PHP7.27: connect mysql 5.7 using new mysqli
  16. 转: 如何使用jstack分析线程状态
  17. 基于PaaS和SaaS研发平台体系
  18. ping命令使用及其常用参数
  19. 170803、springboot jar包启动提示没有主清单属性
  20. USB-Blaster驱动安装失败——文件哈希值不在指定目录中

热门文章

  1. MongoDB安装(一)
  2. dede自定义标签
  3. async与await
  4. 解决ios手机页面overflow scroll滑动很卡的问题
  5. redhat安装xwindow环境
  6. maven的pom.xml样例
  7. MapReduce 计算模式
  8. Codeforces 607A 动态规划
  9. Vue2.0 keep-alive 组件的最佳实践
  10. ssh到远程执行命令并返回