Linux C++ GDB调试入门到精通

金旋
• 阅读 130

//下仔のke:https://yeziit.cn/14051/ Linux C++ GDB调试入门到精通GDB(GNU Debugger)是一个强大的Unix下的程序调试工具,支持C、C++、Fortran等多种语言。使用GDB,你可以设置断点、单步执行、查看变量值等,从而帮助你定位和修复程序中的错误。

以下是一个简单的GDB调试示例:

首先,编译你的程序时需要加上-g选项,以便生成带有调试信息的可执行文件。例如,如果你的源代码文件是main.c,那么可以使用以下命令进行编译:

shell gcc -g main.c -o main 运行GDB并加载你的程序:

shell gdb main 在你想要设置断点的代码行上设置断点。例如,如果你想在第10行上设置断点,可以输入:

gdb break main.c:10 运行你的程序。你可以使用run命令,也可以按Ctrl+C中断程序运行:

gdb run 当程序运行到你设置的断点时,它会停止。此时,你可以查看变量的值、单步执行等。例如,要查看变量x的值,可以输入:

gdb print x 要单步执行代码,可以使用next命令(执行下一行代码)或step命令(进入函数内部)。例如:

gdb next
step 要继续执行直到下一个断点或程序结束,可以使用continue命令:

gdb continue 要退出GDB,可以输入:

gdb quit 以上只是一个简单的GDB使用示例,GDB还有很多高级功能,如条件断点、观察点等。要深入了解GDB的使用方法,建议查阅GDB的官方文档或相关教程。

点赞
收藏
评论区
推荐文章
cpp加油站 cpp加油站
2年前
【工欲善其事,必先利其器】之gdb五大高级用法
本篇文章讲解gdb的一些高级用法,在我们的开发生涯中,调试是很重要的技能,而在linux下开发,最常用的调试工具就是gdb了,所以这里介绍几种gdb比较高级的用法,助力我们的调试技能。还是先看下思维导图:1.gdb怎么调试多线程gdb调试多线程时,默认情况下是所有线程同时都在执行,但是假设我们想只有一个线程继续执行,其他线程都暂停呢?下面就来看一看该怎么
Stella981 Stella981
2年前
Debug RUST
从零介绍使用LLDBdebugRUST程序的基本方法。Rust会使用DWARF格式在binary中嵌入调试信息,所以可以使用一些通用的调试工具,比如GDB和LLDB。DWARF(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdwarfstd.org%2F)
Wesley13 Wesley13
2年前
CMU
一、实验目的1.理解C语言程序的机器级表示。2.初步掌握GDB调试器的用法。3.阅读C编译器生成的x8664机器代码,理解不同控制结构生成的基本指令模式,过程的实现。二、实验工具1.SecureCRT2.Linux3.Objdump命令反汇编4.GDB调试工具
Wesley13 Wesley13
2年前
gdb调试技巧
gdb支持源码级调试,这是众所周知的事情。当然,你也可以进行汇编级的调试。理论上这个更应该有用。(因为很多程序的编译常常没有源码级别的调试信息)那么怎么做?先写一个最简单的源代码。$cata.cintmain(void){inti0;i2;return0;}CtrlD
Stella981 Stella981
2年前
GDB原理之ptrace实现原理
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以
Wesley13 Wesley13
2年前
Ubuntu下GDB调试器的使用
gdb调试器时一款GNU组织开发、发布的UNIX/Linux环境下的程序调试工具,没有图形界面,但功能强大。GDB使用流程:先编写一个测试文件gdbTest.c!(https://oscimg.oschina.net/oscnet/e9500596a265331ca6539ee3f2cef6df988.png)      保存后用gcc
金旋 金旋
3个月前
重楼C++逆向五期教程
//下仔のke:https://yeziit.cn/14027/C逆向工程是指通过分析C程序的二进制代码或反汇编代码,来理解程序的内部结构和实现原理的过程。C逆向工程通常涉及到反编译、反汇编、调试等技术,可以帮助开发人员深入了解程序的运行机制、
程序调试利器——GDB使用指南
GDB是GNUDebugger的简称,其作用是可以在程序运行时,检测程序正在做些什么。GDB程序自身是使用C和C程序编写的,但可以支持除C和C之外很多编程语言的调试。
子桓 子桓
6个月前
GO语言集成开发工具环境 GoLand 2023中文安装教程
1.智能代码补全:GoLand能够根据上下文自动补全代码,包括函数名、变量名、包名等。它还能够识别代码中的错误和警告,快速修复和优化代码。2.强大的调试功能:GoLand提供了强大的调试功能,包括设置断点、单步调试、查看变量值、跟踪Goroutine等。它
金旋 金旋
3个月前
Linux C++ GDB调试入门到精通
//下仔のke:https://yeziit.cn/15086/GDB,全称GNU调试器,是GNU项目的一部分,是一个强大的Unix下的程序调试工具。它可以用来调试C、C、ObjectiveC以及其他支持的语言写的程序。使用GDB,你可以设置断点、单步