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

1.13|1.14|1.15|1.6、GDB调试

1.13|1.14|1.15|1.6、GDB调试

  • 1.13、GDB调试(1),GDB调试(2)
    • 1. 什么是GDB
    • 2. 准备工作
    • 3. GDB命令—启动、推出、查看代码
    • 实际操作
      • ①用list查看代码
  • 1.15、GDB调试(3)
    • 1. GDB命令—断点操作
    • 实际操作
      • ①对当前文件布置断点操作
      • ②对非当前文件布置断点操作
      • ③设置无效断点和有效断点
      • ④条件断点
  • 1.16、GDB调试(4)
    • 1. GDB调试—调试命令
    • 实际操作
      • ①自动变量

1.13、GDB调试(1),GDB调试(2)

1. 什么是GDB

在这里插入图片描述

2. 准备工作

在这里插入图片描述

3. GDB命令—启动、推出、查看代码

在这里插入图片描述

实际操作

  • 输入这两条命令,第一条用于生成调式代码,第二条运行调试代码
  • test.c需要与被调试的代码test同一个目录
  • list默认显示main函数
    在这里插入图片描述

①用list查看代码

  • list 行号,显示行号上下文代码
    在这里插入图片描述
  • list 函数名,表示显示函数名上下文的代码
    在这里插入图片描述
  • list 文件名:行号查看非当前文件的代码第10
    在这里插入图片描述
  • list 文件名:函数名查看非当前文件代码的select函数
    在这里插入图片描述
  • 设置一次查看的代码文件行数的大小
    在这里插入图片描述

1.15、GDB调试(3)

1. GDB命令—断点操作

在这里插入图片描述

实际操作

①对当前文件布置断点操作

  • 给当前文件第9行打上断点break 9
  • 给当前文件的main函数打上断点break main
  • 显示当前断点的情况info break
    在这里插入图片描述

②对非当前文件布置断点操作

  • 给文件bubble.cpp的第11加上断点break bubble.cpp:11
  • 给文件bubble.cppbubbleSort函数加上断点break bubble.cpp:bubbleSort
  • 展示断点情况
    在这里插入图片描述

③设置无效断点和有效断点

  • 无效的断点在进行断点调试的时候没有不起作用
  • 设置有限断掉disable 断点编号
  • 设置有效断点enable 断点编号
    在这里插入图片描述
    在这里插入图片描述

④条件断点

在这里插入图片描述

1.16、GDB调试(4)

1. GDB调试—调试命令

在这里插入图片描述

实际操作

  • 如果循环中有断点,那么until无法跳出循环,此时我们需要删除del 断点或者disable 断点
  • 如果想要使用finish跳出函数体,那么在当前执行的语句的下面也不能有断点

①自动变量

  • display 变量名,每次执行一次代码自动输出自动变量的值
  • set var直接修改变量的值,看哪个不顺眼改哪个

http://www.kler.cn/a/14544.html

相关文章:

  • LiangGaRy_学习笔记_Day01
  • 聊聊 maven的版本号version 以及maven指定版本号范围写法
  • 【Chatgpt4 教学】 NLP(自然语言处理)第九课 朴素贝叶斯分类器的工作原理 机器学习算法
  • 纳芯微携手企企通,打造全新数字化采购管理系统
  • C++设计模式之备忘录模式
  • Microsoft Defender for Office 365部署方案
  • 湿法冶金铼提取工艺
  • sqoop安装
  • AI 编程
  • MySQL数据类型
  • 1.10和1.11和1.12、Makefile
  • ADKEY多按键制作阻值选择
  • OpenJudge - 39:多项式输出
  • Jenkins+Python自动化测试持续集成详细教程(全网独家)
  • 基于html+css的图片展示32
  • Mac 安装Charles抓包工具及使用教程(什么,都什么时候了还不会抓包)
  • 25K 入职阿里的那天,我特么哭了
  • 网络系统管理Linux服务部署 试卷
  • 容器网络与生态
  • Java内存模型详解