1.角色:host和target

host是运行gdb的机器
target是运行gdbserver的机器
gdbserver提供一个网络服务,gdb remote到gdbserver上后进行调试

2. 基本要求:

  • host和target可以网络通信,ping通
  • host上的gdb和target上的gdbserver版本尽量一致(?)
  • 编译好的可执行程序a.out,放在target上;使用'-g'选项编译;
  • host上需要能访问到a.out对应的源码文件:可以是NFS共享文件,也可以是两份源码(分别放在host和target上,甚至target上不需要源码??)

3. 基本步骤

  • 编译出a.out放到target上
  • target上执行:gdbserver :7788 ./a.out,其中7788是端口号可以改
  • host上确保能访问到a.out对应的源码(如果是多个文件的工程,要保证目录结构也一致)
  • host上执行
    ```
    cgdb

    target remote xx.xx.xx.xx:7788 [args]
    ``其中xx.xx.xx.xx是target的ip地址,7788是先前在target上gdbserver对应的端口号,[args]`表示参数列表,如果a.out需要传参需要在这里传入(我测试下来,host上没法传args)

  • host上使用gdb命令调试
    set args -b ITENSOR -d ../dlc/bvlc_alexnet.dlc -i target_raw_list.txt -o output

4. 实例记录

为了调试一个ubuntu下程序crash后直接导致系统重启的bug,我的host和target都是ubuntu系统。

cgdb
target remote 172.17.122.120:7788
b 396
c
b 402
c

转载于:https://www.cnblogs.com/zjutzz/p/10883312.html

C/C++调试:gdbserver的简单使用相关推荐

  1. Linux调试——gdb调试器的简单使用调试coredump文件

    文章目录 一.背景 二.gdb的指令与使用 1.gdb的基本指令. 2.gdb指令的简单使用 1.进入gdb模式 2.实例说明 三.调试coredump文件 前提:本质上是在调试程序崩溃之后的内存镜像 ...

  2. navicat 怎么调试存储过程_Mysql调试存储过程最简单的方法

    以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...

  3. linux下eclipse进行ndk调试,超简单,写的超清晰

    转自:http://blog.linguofeng.com/archive/2013/04/18/eclipse-android-ndk-debug.html 注意: 1. 作者是在MAC os上面使 ...

  4. vscode如何运行python新手教程_VSCODE安装以及使用Python运行调试代码的简单记录

    1. VScode安装 官网下载VSCODE https://code.visualstudio.com/ 下载呢windows的x64安装包,安装stable的版本 当前日期 2018.01.15 ...

  5. linux 内核调试前准备(简单记录,以后补充)

    系统环境:centous7 (redhat的体系) 需要安装的软件:crash kdump kernel-debuginfo TODO: 1.自行编译内核生成 kernel-debuginfo 2.在 ...

  6. php网站调试出现的简单问题,调试php时网站出现502的解决方法

    这是第二次遇到该问题了,上次解决后因为没有记录,结果这次遇到后又得重新查找解决方法.记忆力严重减退了啊,还是要保持边学边记录的习惯 网站在正常运行时是没有问题的,但是在使用xdebug进行远程调试时, ...

  7. 【Linux系统编程学习】 GDB调试器的简单使用

    此为牛客网Linux C++课程 1.13&1.14&1.15&1.16 的课程笔记. 0. GDB简介 1. 准备工作 想要使用gdb调试,首先需要用gcc的-g参数生成可执 ...

  8. OPPO R15 Pro在哪里打开USB调试模式的简单经验

    在我们使用PC连接安卓手机的时候,如果手机没有开启USB调试模式,PC则无办法成功读到我们的手机,这时候我们需要找解决方法将手机的USB调试模式打开,下文我们描述OPPO R15 Pro如何开启USB ...

  9. OPPO A7在哪里打开Usb调试模式的简单教程

    每次我们使用Pc接通安卓手机的时候,如果手机没有开启usb开发者调试模式,Pc则无办法成功读到我们的手机,此情况我们需要找方法将手机的usb开发者调试模式打开,本文我们叙述OPPO A7如何开启usb ...

最新文章

  1. java calendar.add方法_Java Calendar add()方法与示例
  2. java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境
  3. 【线性规划与网络流24题】汽车加油行驶问题 分层图
  4. MongoDB最简单的入门教程之一 环境搭建
  5. Head First设计模式读书笔记——策略模式
  6. java怎么使异常不起作用_java – @Test(expected = Exception.class)对我不起作用,我错过了什么?...
  7. java dozer map转对象_对象转换利器之Dozer
  8. 蓝桥杯官网试题 欧拉的鸡蛋
  9. 电脑如何录制gif动图
  10. 区块链入门-完整版V1.0-Part5
  11. 域名被劫持应该如何处理
  12. java filter 重定向_在Filter的doFilter中进行重定向 出现异常
  13. 华硕S400装win7
  14. ACM/ICPC 2017 Nanning Regional 总结
  15. 问题记录:系统还原后,QQ显示一直登录中,但却登录不上去,而且很多软件无法使用
  16. 历届试题 大臣的旅费 java
  17. Java打印完整的堆栈信息
  18. 计算机考研与就业的利弊分析,考研和就业怎么选择 考研和就业的利弊分析
  19. linux用命令下载图片,巧用linux命令做图片下载器
  20. ai专家人工智能讲师老师叶梓老师《人工智能概念入门》培训人工智能项目咨询-8

热门文章

  1. 你不知道的 JavaScript 笔记——作用域和闭包
  2. 开发常识 持续更新~~
  3. 在Cloudshare上使用PAL=〉系统检查及初始化
  4. EasyUI + Bootstrap 界面整合
  5. 40种Lightbox效果收集
  6. entity、model和domain三者区别
  7. 3.10以上charles版本抓取Https数据包
  8. 干货 | 携程度假无线前端架构演进之路
  9. 实用技巧:教你如何在没有网络的Linux机器上快速安装软件
  10. java 压缩多个文件_java实现一次性压缩多个文件到zip中的方法示例