当前位置: 首页 > news >正文

Linux调试器-gdb 与 冯诺依曼体系结构

1. 基本指令

(1). 程序发布有两种版本-debug和release。 Debug版本会添加调试信息, release版本会取消调试信息。

(2). Gcc/g++ 默认生成的可执行程序默认是release的. 为了 让其生成debug版本的可执行程序,可以加一个 -g 选项。 即: gcc -o test test.c -g

(3). 因此gdb只能对debug版本的进行调试

(4). Gdb的基本指令

1. l/list + 行号: 罗列10行,行号位置在罗列代码的中间位置

2. l/list + 函数名: 从函数头向下罗列10行代码(包括函数头)

3. r/run 运行程序。 【相当于F5】

4. n/next 单步调试。 【相当于F10】

5. s/step 可以进入函数内部进行调试。 【相当于F11】

6. b/break + 行号: 在某一行打断点

7. b/break + 函数名: 在目标函数打断点。 【实际上在 函数名 的最开始的语句处打断点】

8. info b/break 查看所有断点的信息。 断点的序号在一个调试周期中是递增的。

9. d 断点序号: 删除 对应序号的断点

10. d break 断点序号: 删除对应序号的断点

11. d break 删除所有断点

12. disable 断点序号: 禁用对应断点

13. enable 断点序号: 启用对应断点

14. c/continue 从当前位置执行到下一个断点处

15. p + 变量: 打印此时变量的值

16. p + 函数名: 打印 该函数的参数类型和返回值类型

17. finish 执行到该函数停止

18. display + 变量: 监视一个变量。该变量会有一个对应的监视序号,该序号也是在一个调试周期中递增

19. undisplay + 监视序号:取消监视序号对应的变量

20. until + 行号: 运行到 目的行号 时停止

21. set var修改变量的值。 Eg: set var p = 10   , 这里将p修改为10

22. 条件断点:

(1). 直接创建条件断点: b + 行号 + if 条件

(2). 给已有的断点创建条件: condition + 断点序号 + 条件  【这里没有if,直接写条件】

2. 冯诺依曼体系

冯诺依曼体系结构图:

基本解释:


http://www.mrgr.cn/news/51575.html

相关文章:

  • 【Docker系列】docker-compose down 命令详解
  • Linux权限理解及环境基础开发工具使用
  • 库卡ForceTorqueControl(一)
  • GPT4 multi-modal input, 使用GPT处理图像
  • 迪杰斯特拉算法的理解
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 用Cursor开发了一个图片分割器
  • API项目:发布下线
  • 图论day62|拓扑排序理论基础、117.软件构建(卡码网)、最短路径之dijkstra理论基、47.参加科学大会(卡码网 第六期模拟笔试)
  • 在线培训知识库管理系统:教育行业的新动力
  • Qt | CMake(Qt5 VS Qt6)
  • 【计网】从零开始理解TCP协议 --- 熟悉TCP报头结构并理解三次握手与四次挥手
  • Java爬虫之使用Selenium WebDriver 爬取数据
  • c++实现跳表
  • CSMA/CD协议 监听算法
  • 在使用linux过程中找不到占据空间的大文件的解决方法
  • BUUCTF[GKCTF 2021]你知道apng吗
  • 养宠物的空气净化器有哪几款推荐?有没有性价比高的分享?
  • Docker--harbor私有仓库部署与管理
  • MybatisWebApp