首页 > 其他分享 >gdb调试c、cpp源代码方法步骤

gdb调试c、cpp源代码方法步骤

时间:2024-07-16 19:29:51浏览次数:15  
标签:简写 int gdb cpp 源代码 断点 example

1. 代码举例

//example.c
#include <stdio.h>
  
int addNumbers(int num1, int num2) {
    return num1 + num2;
}

int main() {
    int a = 10;
    int b = 20;
    int sum = addNumbers(a, b);
    printf("The sum is: %d\n", sum);
    return 0;
}

2. 代码编译带上-g

gcc -g -Wall -o example example.c
gdb example

3. gdb运行example可执行文件,如果有参数也不用带上,后面的run的时候再带参数

gdb example //会进入(gdb)交互页面

4. (gdb)交互页面调试源代码

查询断点:(gdb) b  //输入break或者b,表示查询断点
设置断点:(gdb) break 1 //在源代码第1行设置断点,或者简写 b 1
启动程序:(gdb) run //或简写为 r 开始运行,如果有参数 r 后面继续添加参数,多个参数之间空格隔开

单步执行:(gdb) step (进入函数内部) //简写 s
下步执行:(gdb) next (不进入函数内部) //简写 n
查看变量值:(gdb) print variable_name //简写为 (gdb) p variable_name。
继续执行直到下一个断点:(gdb) continue //简写为 (gdb) c

退出GDB:(gdb) quit //简写为 (gdb) q

标签:简写,int,gdb,cpp,源代码,断点,example
From: https://www.cnblogs.com/yongfengnice/p/18305936

相关文章

  • 外贸国际短信群发工具的开发源代码!
    在外贸行业中,快速、准确地与客户进行沟通是业务成功的关键之一,随着科技的不断进步,国际短信群发工具成为了外贸从业者不可或缺的工具。本文将通过科普五段源代码,带您深入了解外贸国际短信群发工具的开发原理和实现过程。一、概述外贸国际短信群发工具是一种利用计算机技术和......
  • PX4学习日志四:PositionControl.cpp代码解读
    首先看boolPositionControl::update(constfloatdt)函数,该函数先进行有效性判断。跳转到_positionControl函数if(valid){_positionControl();分析_positionControl函数3.1通过P控制实现速度调节Vector3fvel_sp_position=(_pos_sp-_pos).emult(_gain_pos_p);......
  • 暑期集训ezret(学会看gdb)
    64位ida打开并反汇编的main():进入input_person函数:仔细看可以找到一个特别的函数名win,点进去发现是后门:根据ida看出程序的基本逻辑是输入name和age,输出age和name很多时候ida会抽风(bushi),就比如operater=里面的参数没给,不过没关系,我们可以猜(),可以看出input_person里面v11(age)......
  • 2024最新的源代码防泄漏方案分享
    源代码是软件开发的核心资产,一旦泄露,不仅会导致知识产权损失,还可能被竞争对手利用,给企业带来巨大的经济损失和法律风险。那么有没有针对源代码的防泄漏方案呢?接下来我为大家介绍2024最新的源代码防泄漏解决方案。1.访问控制:实施严格的访问控制策略,确保只有授权的开发者和......
  • log4cpp的安装及使用
    目录前言安装使用示例代码配置文件编译链接输出前言本文的操作均在ubuntu20.04下进行安装本文仅介绍从源码编译安装log4cpp的过程。①在开始编译前,首先要确保系统中安装了g++,make,autoconf和libtool②下载log4cpp源码下载log4cpp的特定版本并解压,以1.1.3为例:wgethttp://so......
  • ArduPilot开源代码之EKF系列研读
    ArduPilot开源代码之EKF系列研读1.源由2.基本原理3.数学公式4.研读步骤5.参考资料1.源由EKF(扩展卡尔曼滤波器,ExtendedKalmanFilter)是一种非线性滤波算法,是标准卡尔曼滤波器在非线性系统中的扩展。它在处理和估计非线性系统状态时广泛应用,如机器人导航、目标......
  • Java毕业设计-基于springboot开发的医院后台管理系统设计与实现-毕业论文(附毕设源代码
    https://download.csdn.net/download/u014740628/88922529医院后台管理系统设计与实现应用技术概述在信息时代背景下,医院后台管理系统的开发成为提升医疗信息处理效率的关键。本文介绍的系统采用B/S架构,结合了MySQL数据库和Java语言进行实现,确保了系统的稳定性和数据的安......
  • Java毕业设计-基于springboot开发的医院药品管理系统设计与实现-毕业论文(附毕设源代码
    Java毕业设计-基于springboot开发的医院药品管理系统设计与实现-毕业论文(附毕设源代码)https://download.csdn.net/download/u014740628/88922533医院药品管理系统开发实践应用技术概述在数字化时代背景下,医院药品管理系统的开发利用了当前流行的技术栈,以满足现代医疗行业......
  • C++使用gnuplot-cpp库绘制图像
    最近想要对一些时变的变量进行可视化,搜索来搜索去选择了使用gnuplot这个工具。sudoapt-getinstallgnuplotsudoapt-getinstallgnuplot-x11#使其支持linux终端这样就安装完gnuplot了。接着可以在命令行中键入gnuplot命令打开gnuplot的交互式环境。由于这里着目于使用c++......
  • 基于SpringBoot+VueJS+微信小程序技术的图书森林共享小程序设计与实现:7000字论文+源
          博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c++等开发语言,以及毕业项目实战✌    从事基于javaBS架构、CS架构、c/c++编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架构思想、较扎实的技术功底和资深的项目管理经......