1.13|1.14|1.15|1.6、GDB调试

news2024/12/23 14:01:15

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.coloradmin.cn/o/449601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 快速上手 Java 增删改查(包含 RedisTemplateConfig 的编写)

一:Redis 数据类型 先了解 redis 的五种基本数据类型。 String 字符串类型:name: "value1"List 列表:names: ["value1", "value2", "value2"]Set 集合:names: ["value1", &qu…

多源迁移学习网络补充知识用于具有不可见故障的机器智能诊断

**摘要:**当前基于深度迁移学习的故障诊断的大多数成功需要两个假设:1)源机器的健康状态集合应当与目标机器的健康状态集合重叠;2)目标机器样本的数量跨健康状态平衡。然而,这样的假设在工程场景中是不现实的&#xff…

【闲聊杂谈】HTTPS原理详解

HTTPS和HTTP的区别 HTTP虽然使用极为广泛, 但是却存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付, 网络交易等新兴应用中安全方面最需要关注的。 关于 HTTP的明文数据传输, 攻击者最常用的攻击手法就是网络嗅探, 试图从传输过程…

Redis高可用高性能缓存的应用系列06 - 热Key,大Key,并发竞争解决方案

概述 终于迎来了Redis系列的尾声,本文针对Redis常遇到的热Key,大Key,并发竞争解决方案进行介绍。 热Key 什么是热key?当一个key的访问量明显大于其他key的时候,他就可以被称为热key。 热Key带来的问题 热key占用大量的CPU资…

黑马在线教育数仓实战7

1. hive的相关的优化 1.1 hive的相关的函数(补充说明) if函数: 作用: 用于进行逻辑判断操作语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 nvl函数: 作用: null值替换函数格式: nvl(T value, T default_value) COALESCE函数 作用: 非空查找函数:格式…

Windows安装GPU环境CUDA、深度学习框架Tensorflow和Pytorch

Windows安装GPU环境CUDA、深度学习框架Tensorflow和Pytorch 1、未安装CUDA使用tensorflow报错 import tensorflow as tf2022-03-06 15:14:38.869955: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library cudart64_110.dll; dl…

Django | 一文完美解决admin增加新用户只有用户名密码和确认密码的问题

文章目录 如图所示,下面给出解决方案: 如果您使用 使用 Django 默认的后台管理界面添加用户时,只看到了三个字段(通常是 username、password和 repassword),那么可以通过定义 add_fieldsets 属性来增加更多…

【JUC】原子操作类

【JUC】原子操作类 文章目录 【JUC】原子操作类1. 原子操作类1.1 基本类型原子类1.2 数组类型原子类1.3 引用类型原子类1.3.1 AtomicReference1.3.2 AtomicStampedReference1.3.3 AtomicMarkableReference 1.4 对象的属性修改原子类 1. 原子操作类 原子操作类如下所示&#xf…

【Linux】进程间通信 --- 管道 共享内存 消息队列 信号量

等明年国庆去西藏洗涤灵魂,laozi不伺候这无聊的生活了 文章目录 一、进程间通信1.什么是通信?(IPC)2.为什么要有通信?(多进程协同)3.如何进行通信? 二、基于文件系统的管道通信1.通信…

acwing17给了一个头节点,从尾到头输出链表的元素,顺便练练容器

方法一 建立一个数组,从头到尾遍历一遍链表,然后将链表的每个元素的值赋给数组 犯了一个错误 新建的vector容器是一个可变长的数组,要想像数组下标那样访问前提是这个下标所指向的元素得存在,这也就跟那个声明一维数组得写出长度来…

rk3568 适配摄像头 (CIF协议)

rk3568 适配摄像头 (CIF协议) 在RK3568处理器中,支持CIF协议的摄像头可以通过CSI接口连接到处理器,实现视频数据的采集和处理。同时,RK3568还支持多种图像处理算法和编解码器,可以对采集到的视频数据进行实时处理和压缩&#xff…

[Golang实战] 带你入手gin框架使用,以项目为例

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 &am…

Dear ImGui结合CMake实现基于GLFW和OpenGL3的入门级hello world代码

Dear ImGui结合CMake实现基于GLFW和OpenGL3的入门级hello world代码 如需转载请标明出处:https://blog.csdn.net/itas109 技术交流:129518033 环境: OS: windows 10 / Ubuntu 22.04 imgui: 1.89.5 glw: 3.3.8前言 Dear ImGui 是一个 用于…

alibaba arthas的新人上手教程

背景 Arthas 是Alibaba开源的Java诊断工具。 github开源地址:GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas 上手教程 1.下载arthas,并测试运行demo curl -O https://arthas.aliyun.com/arthas-boot.j…

高防IP的定义与作用

随着网络技术的发展,网络攻击的频率和威力不断升级,对企业和个人的网络安全造成了巨大风险。于是,高防IP作为一种网络安全防护工具应运而生,成为广大用户保障网络安全的重要手段。接下来让我们一起来详细了解下高防IP的定义和作用…

web实验(1)

(1) 应用html和css完成如图所示界面效果。内容相对于浏览器居中,图标见附件disc.jpg。 说明: 内容相对于浏览器居中,图标见附件disc.jpg盒子边框1px solid #ccc,内边距20px文本字体颜色#122e67&#xff…

outlook邮箱pc/mac客户端下载 含最新版

新的 Outlook for Windows or mac 为 Outlook 应用带来了最新功能、智能辅助功能和新的新式简化设计。 你可以根据自己的风格定制它,并使用新的 Outlook for Windows/mac 执行更多操作! 览版,与我们一起开始旅程,并帮助我们塑造新…

SSM整合完整流程

🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前在某公司实习&#x1f…

Django--DRf---序列化器:序列化器嵌套

模型表: from django.db import models# Create your models here.class StudentModel(models.Model):id models.AutoField(primary_keyTrue)name models.CharField(max_length32,verbose_name姓名)age models.SmallIntegerField(verbose_name年龄)class_mate_f…

人人可用的开源数据可视化分析工具-DataEase

DataEase 介绍 DataEase是一种开源的关系型数据库管理系统,旨在帮助用户创建和管理各种类型的数据。它是一种易于使用的工具,适用于各种规模的企业和组织,从个人使用到大型公司使用。 Github 地址:GitHub - dataease/dataease: …