gdb相关指令

背景知识

通过上图,可以看到,gcc  和  g++  默认形成的可执行程序是release的!!!故无法直接被调试。因此带  -g  选项表示使用 Debug  模式进行编译,而且我们可以看到,Debug 模式下编译形成的可执行程序的大小比 Release 模式下编译形成的可执行程序的大小要  大!!!

二者相比之下,多出来的内容为以下内容:

gdb有关的操作

gdb会记录最近一条命令,如果无变化,可以直接回车。

r(run):运行程序,开始调试,如果没有设置断点,就直接运行结束。

quit:   退出gdb。

b(break) + 行号:在某一行设置断点。

info b: 查看断点信息。

d(delete) + 断点编号:删除某一个断点。

d breakpoints: 删除所有断点。

n(next) : 单条语句执行。(相当于vs中的 F10)

s(step) : 进入函数调用。(相当于vs中的 F11)

set var: 修改变量的值。

finish : 将当前函数跑完,就停下来。

bt(breaktrace): 查看各级函数调用及参数。

p(print): 打印变量的值。

display  变量名: 跟踪查看一个变量,每次停下来都显示它的值。

undisplay 变量名:取消对先前设置的变量的跟踪。

 until + 行号:眺至某一行(不建议使用)。

c(continue) : 运行到下一个断点处停下来。

disable + 断点编号:禁用该断点。

enable + 断点编号:启用该断点。

 部分演示

演示所用代码:

#include <stdio.h>int AddToTop(int top)
{int res = 0;for( int i = 0; i <= top; i++ ){res += i;}return res;
}int main()
{int top = 100;int result = AddToTop(top);printf("result: %d\n", result);printf("hello 1\n");printf("hello 2\n");printf("hello 3\n");printf("hello 4\n");printf("hello 5\n");printf("hello 6\n");printf("hello 7\n");return 0;
}

部分指令操作演示: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616650.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言之_Generic用法实例(九十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

5GNR刷题

5G帧结构 5G NR帧结构的基本时间单位是( C ) A) subframe B) slot C) Tc D) symbol 5G无线帧长是多少ms&#xff08;B&#xff09; A) 5 B) 10 C) 20 D) 40 下面哪种子载波间隔是中国移动白皮书中规定必选(B ) A) 15KHz B) 30KHz C) 60KHz D) 120KHz 5G参数集包含哪…

Java-博客系统(前后端交互)

目录 前言 博客系统基本情况 1 创建项目&#xff0c;引入依赖 2 数据库设计 2.1 分析 2.2 建库建表 3 封装数据库 3.1 在java目录下创建DBUtil类&#xff0c;通过这个类对数据库进行封装 3.2 在java目录下创建实体类&#xff08;博客类Blog&#xff09; 3.2 在java目录下创建…

【STK】手把手教你利用STK进行导弹和反导仿真04 - STK/MMT模块03 导弹飞行工具应用案例

点击MFT的桌面快捷方式,启动MFT (1)首先建立新项目,点击Flight菜单中的New Flight选项,见下图 (2)项目设置。项目可以命名为Test;系统选项按默认设置,见下图;发射点可以选择。 飞行设置的工具栏就在附加窗口的中间,首先点击左边的General,修改这个项目的名字。然…

Zynq学习笔记--Vivado中自定义IP核

目录 1. 概述 2. IP Packager 重要参数 2.1 参数说明 3. AXI4 Lite 写操作逻辑 3.1 写数据请求发起 3.2 写响应通道握手 3.3 从机锁存数据 3.4 地址和数据处理 3.5 地址空间详解 4. 写入和读取请求 4.1 寄存器写入逻辑 4.2 写操作握手 4.3 读请求发起 4.4 读操作…

MySQL-变量、流程控制与游标:变量、定义条件与处理程序、流程控制

变量、流程控制与游标 变量、流程控制与游标1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量 1.2 用户变量1.2.1 用户变量分类1.2.2 会话用户变量1.2.3 局部变量1.2.4 对比会话用户变量与局部变量 2. 定义条件与处理程序2.1 案例分析2.2 定义条件2.3 定义处理程序2.4…

政安晨:【Keras机器学习实践要点】(三十)—— 使用斯温变换器进行图像分类

目录 设置 配置超参数 准备数据 辅助函数 基于窗口的多头自注意力计算 模型训练与评估 准备 tf.data.Dataset 建立模型 在 CIFAR-100 上训练 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政…

深入微服务框架:构建高效、可扩展与弹性的现代应用架构

前言&#xff1a;当今快速迭代和多变的商业环境中&#xff0c;传统的单体应用程序面临着一系列挑战&#xff0c;包括难以管理复杂性、缺乏灵活性以及无法有效扩展等问题。随着业务需求的不断增长和技术栈的不断演进&#xff0c;企业亟需一种更加模块化、易于管理和扩展的应用程…

【Sql Server】锁表如何解锁,模拟会话事务方式锁定一个表然后进行解锁

大家好&#xff0c;我是全栈小5&#xff0c;欢迎来到《小5讲堂》。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言创建表模拟…

LLM生成模型在生物单细胞single cell的应用:scGPT

参考&#xff1a; https://github.com/bowang-lab/scGPT https://www.youtube.com/watch?vXhwYlgEeQAs 主要是把单细胞测序出来的基因表达量的拼接起来构建成的序列&#xff0c;这里不是用的基因的ATCG&#xff0c;是直接用的基因名称 训练数据&#xff1a;scGPT全人模型是在3…

蓝桥杯备赛:考前注意事项

考前注意事项 1、DevCpp添加c11支持 点击 工具 - 编译选项 中添加&#xff1a; -stdc112、万能头文件 #include <bits/stdc.h>万能头文件的缺陷&#xff1a;y1 变量 在<cmath>中用过了y1变量。 #include <bits/stdc.h> using namespace std;// 错误示例 …

数据结构排序篇上

排序的概念及其运用 排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&…