不同网段之间实现GDB远程调试功能

在开发过程中,使用gdb远程调试时,会碰到 Linux 服务器的网段和板载设备的网段不是一样的,不能正常使用 gbd 远程调试功能。

板载设备和电脑连接路由器,属于同一个网段,如192.168.1.1,而路由器和Linux服务器属于另一个网段,如10.20.51.251。

板载设备和电脑可以互相ping通,板载设备或电脑也能ping通Linux服务器,但Linux服务器却不能ping通板载设备或电脑。

板载设备或电脑能ping通Linux服务器是因为路由器和服务器属于同一网段,所以通过路由器转发即可ping通,服务器可以ping通路由器的IP,但是无法ping通路由器下面的局域网IP

./arm-himix200-linux-gdb test
...

(gdb) target remote 192.168.1.102:8005
192.168.1.102:8005: 连接超时.

(gdb)

启用路由器的 DMZ主机功能,添加板载设备的IP地址即可

假设板载设备的IP是”192.168.1.140″,路由器的IP是”10.20.51.100″,服务器的IP是”10.20.51.120″。

在使用 GDB 远程调试时,板载设备执行gdbserver,连接的是服务器的IP地址。

./gdbserver --remote-debug 10.20.51.120:8005 test

在服务器上运行gdb,连接使用的是路由器的IP地址,而不是板载设备的IP地址。

./arm-himix200-linux-gdb test
...

(gdb) target remote 10.20.51.100:8005
Remote debugging using 10.20.51.100:8005
Reading /lib/ld-linux-armhf.so.3 from remote target...

Reading /lib/ld-linux-armhf.so.3 from remote target...

Reading symbols from target:/lib/ld-linux-armhf.so.3...(no debugging symbols found)...done.

0x76fcebc0 in ?? () from target:/lib/ld-linux-armhf.so.3
(gdb)

此时可以正常使用 gdb 的远程调试功能了。

如何设置路由器的DMZ主机功能:

Original: https://www.cnblogs.com/const-zpc/p/16451422.html
Author: 大橙子疯
Title: 不同网段之间实现GDB远程调试功能

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714471/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • IntelliJ IDEA 2017 永久注册方法

    首先下载:JetbrainsCrack-2.6.10-release-enc.rar rover12421大神开发的下载好后改一下后缀.jar 然后放入到IDEA安装bin目录 在…

    技术杂谈 2023年6月21日
    0126
  • Ubuntu 升级 Linux 内核标准流程

    注意事项 不读本注意事项没资格干这个活! 1,进行此操作前,一定要先创建磁盘快照,出现任何报错,必须回滚。 2,公司生产机避免升级一二级版本号,建议仅安装内核安全更新。 3,对公司…

    技术杂谈 2023年6月21日
    085
  • Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos;//获取鼠标的位置 WindowFromPoint;//获取制定point下的handle GetCl…

    技术杂谈 2023年5月31日
    088
  • PHP接收XML格式文件参数并转换成数组

    XML 指可扩展标记语言(e Xtensible Markup Language) :xml被设计用来传输和存储数据。 一段如下格式的数据格式:

    技术杂谈 2023年7月11日
    066
  • Linux Ubuntu 下载&安装 MySQL

    1. 下载安装 下载&安装:一句搞定 sudo apt update sudo apt install mysql-server 查看版本信息 mysql –versio…

    技术杂谈 2023年7月11日
    092
  • 教你搞懂Jenkins安装部署!

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作…

    技术杂谈 2023年7月11日
    096
  • 测试用例千万不能随便,记录由一个测试用例异常引起的思考

    一 测试用例大家平时写不写? 我以前写测试用例只是针对业务接口,每个接口写一个,数据case也只是测一种。能跑通就可以了。要不同的场景case,那就改数据。重新跑一遍。简单省事。 …

    技术杂谈 2023年7月11日
    059
  • 批处理-日常小功能用法记录

    日常用到的一些批处理小命令记录 1、删除某个目录及其子目录下所有特定后缀的文件 假设目标目录为E:\PROJECT,目标后缀为.bakstep1:进入该目录 cd /d E:\PR…

    技术杂谈 2023年7月11日
    074
  • NOI2022 题解合集

    视 (n, q, C_l, C_m) 同级。 对于操作 1 和 2,直接用栈维护。 但对于操作 4,栈不支持快速合并,因此考虑双端队列启发式合并,则该部分总复杂度 (\mathca…

    技术杂谈 2023年6月21日
    0103
  • asp分页系统

    asp分页系统 转载请注明出处:http://www.cnblogs.com/cloudgamer/ 如有任何建议或疑问,欢迎留言讨论。 如果觉得文章不错的话,欢迎点一下右下角的推…

    技术杂谈 2023年5月30日
    089
  • Java并发编程-线程池

    重点内容 线程池的使⽤ 创建线程池 提交任务 关闭线程池 线程池的原理 合理配置线程池 线程池的监控 1.线程池的创建 new ThreadPoolExecutor(corePoo…

    技术杂谈 2023年7月11日
    064
  • pyinstaller打包exe和添加依赖文件(转载)

    pyinstaller打包exe和添加依赖文件(转载)https://www.qb5200.com/article/474662.html posted on2022-07-19 …

    技术杂谈 2023年6月1日
    091
  • ios自动布局优秀框架总结

    1、PureLayout 最终的API为iOS和OS X自动布局-令人印象深刻的简单,非常强大。PureLayout扩展了UIView/NSView, NSArray和NSLayo…

    技术杂谈 2023年5月30日
    0103
  • flask_apscheduler定时任务组件使用

    Flask-APScheduler 是Flask框架的一个扩展库,增加了Flask对apScheduler的支持,可以用作特定于平台的调度程序(如cron守护程序或Windows任…

    技术杂谈 2023年5月31日
    083
  • 测试计划

    ​ 1.测试计划的定义:描述需要完成的所有工作,包括被测项目的目的、背景、范围、资源、进度、环境、任务、策略,以及相应的风险和措施。 ​ 2.测试计划的作用: 对后面的测试过程起到…

    技术杂谈 2023年7月25日
    049
  • 数据中台和数据仓库的区别?

    数据中台从某个意义来说属于数仓的一种,都是要把数据抽进来建立一个数据仓库。但是两者的 数据来源和 建立数仓的目标以及 数据应用的方向都存在很大差异。 首先,从数据来源来说,数据中台…

    技术杂谈 2023年6月21日
    0134
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球