GDB提供的功能

1、启动的程序,可以按照自定义的要求运行程序
2、可以让被调试的程序在指定的断点处停住(断点可以是条件表达式)
3、当程序被停住时,可以检查这个时候程序中发生的事
4、动态地改变程序的运行环境。

远程(交叉)GDB调试

调试桩(调试代理):在目标机上驻留有一小段代码。
调试桩作用:
1、在目标机上视线由主机上的调试器发送过来的调试命令。如:读写内存、读写寄存器、设置断点以及运行被调试程序。
2、向主机调试器报告目标机上发生的异常事件。如:断点命中、除0等程序错误。

典型交叉调试会话步骤

1、主机上的GDB调试器向调试桩发送一系列的内存写命令,以便将即将被调试的应用程序从主机下载到目标机的内存中
2、GDB调试器向调试桩发出断点设置命令,以便在应用程序合适的位置设置断点。
3、当运行中的应用程序遇到断点时,其执行路径被中断暂停,目标机的控制权重新回到调试桩手中。调试桩告知主机调试器,等待主机调试器发出的命令。主机通过发送调试命令来查询或者修改目标机上的内存,读写目标机处理器寄存器。最后告知调试桩继续执行应用程序。

GDB与远程(交叉)GDB调试相关推荐

  1. linux下code-server离线远程web浏览器调试C++代码

    linux下code-server离线远程web浏览器调试C++代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 lin ...

  2. 【嵌入式】Linux开发工具gdb及远程调试

    gdb及远程调试 gdb gdb安装 gdb调试命令 gdb 调试步骤 嵌入式远程调试 在开发板上运行 gdbserver 在PC端执行 其他Liunx开发工具 交叉反汇编器 arm-linux-ob ...

  3. eclipse gdb gdbserver 远程调试

    https://blog.csdn.net/linuxarmsummary/article/details/44975495 我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.0 ...

  4. 利用GDB进行远程调试

    在进行嵌入式系统开发中,受到嵌入式系统资源的限制,调试环境和通用桌面系统的调试环境有差别,引入了远程调试技术.这时,调试器运行于通过桌面系统,被调试的程序则运行于基于特定硬件平台的嵌入式系统(目标系统 ...

  5. VsCode + gdb + gdbserver远程调试arm嵌入式linux C/C++程序

    基本流程跟我的另一篇文章<VsCode + gdb + gdbserver远程调试C++程序>一样,不一样的是需要重新编译gdb和交叉编译gdbserver. 一.准备工作 sudo ap ...

  6. linux下 如何调试php,linux下使用gdb对php源码调试

    title: linux下使用gdb对php源码调试 date: 2018-02-11 17:59:08 tags: --- linux下使用gdb进行php调试 调试了一些php的漏洞,记录一下大概 ...

  7. gdb 的用法(Linux调试器)

    在Linux应用程序开发中,最常用的调试器是gdb,它可以在程序中设置断点.查看变量值.一步一步跟踪程序的执行过程. GDB(GNU symbolic debugger)简单地说就是一个调试工具.它是 ...

  8. [gdb][python][libpython] 使用gdb调试python脚本

    https://devguide.python.org/gdb/ https://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Pytho ...

  9. gdb好文章:GDB十分钟教程

    (GUI调试器:insight和ddd) list(l) :其作用就是列出程序的源代码,默认每次显示10行. list 行号:将显示当前文件以"行号"为中心的前后10行代码,如:l ...

  10. linux gdb 脚本,如何写gdb命令脚本

    作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python ...

最新文章

  1. oracle lz压缩,LZ:Oracle热备期间过量Redo生成控制
  2. python需要具备什么_入门Python需要掌握哪些技能呢?
  3. 【深度学习笔记】分类指标accuracy,recall,precision等的区别
  4. 将“softmax+交叉熵”推广到多标签分类问题
  5. 变频器lpm故障码是什么_什么是变频器软故障,如何解决?
  6. C/S应用程序权限设计(2)
  7. PMP第六版备考笔记练习题答疑(持续更新)
  8. android开发笔记之多媒体—播放音频(音乐)
  9. 一个RGB数据采集实例学习matlab_GUI界面设计
  10. excel公式失效、单元格内容拼接、定长补0、单元格内容和字符串拼接、判断后填充
  11. 经典面试题 Ipv4 和 Ipv6 是什么
  12. 20 分钟教你量化自己的资产
  13. 急速微信开通过滤方法
  14. RSTP Proposal-Agreement
  15. mmo游戏服务器架构简述
  16. oppoa83t怎么升级android8,OPPO A83t刷机教程_OPPO A83t专用rom包下载
  17. 基于IjkMediaPlayer的播放器
  18. 获取android已安装的应用PackageInfo启动第三方APP应用
  19. LWIP+ENC28J60长时间运行后无法访问外网服务器
  20. 位于本地计算机上 错误1068怎么办,错误1068怎么解决

热门文章

  1. 韦冬雪计算机应用,捕获效应下RFID防碰撞算法的研究与应用
  2. daocloud创建mysql_GitHub - DaoCloud/php-apache-mysql-sample
  3. 去掉左边0_SLAM从0到1——11. 视觉里程计VO内容框架
  4. java复制单个文件
  5. Codrops 优秀教程:基于 CSS3 的全屏网页过渡特效
  6. (1-1)line-height的定义和行内框盒子模型
  7. 修改webpack的publicPath为动态设置以适配公司活动平台
  8. ##API(二)————包装类
  9. 反序列化 还是记一下吧
  10. 在物欲横流,心浮气躁的今天,毕业生靠什么来维持自己的梦想?