gdb安装调试,多系统下的安装使用(Ⅳ)

1.gdb是什么?为什么要熟悉gdb调试?

         gdb(GNU调试器)是一个强大的调试工具,允许开发者在程序运行时检查和修改变量的值,单步执行代码,设置断点,以及查看程序的状态。可以比较偏激的说如果是关注于linux下的开发和研究,基本上离不开gdb调试的。

2.在各平台下的gdb下载和安装方式

2.1:window平台的下载方式:

        在windows平台中,直接登入官方的文档---https://www.sourceware.org/gdb/download/(页面如图2.1.1所示)。注意:此处需要选择和自己系统对应的版本下载但一般选择最新的1-2个版本即可,下载完成以后将安装包放置在桌面的下载文档中即可。

(图2.1.1)

2.2:Linux和Ubuntu的下载方式:

        在linux和Ubuntu操作系统上安装gdb调试工具时,多使用命令行输入指令。并且如果是初次使用需要更新下载源(避免不必要的麻烦)

2.2.1 :下载源更新:

        ps:在Linux和Ubuntu操作系统中,由于下载便捷是优势之一。但切记要开启root权限,不然在一些情况下会出现输入指令正确,但不执行的情况(所以不如在下载的过程中都开启root权限)。开启方法如下:

1.打开终端,输入:  su  ,然后输入密码从而开启root权限(如图2.1.2)

2.打开终端,在要输入的指令前添加:sudo 字段开启root权限(如图2.1.2)

        此处我们选择第二种方式,打开终端指令,输入: sudo apt update ,从而更新系统下载源(图2.1.3)

(2.1.2) 

(2.1.3) 

2.2.2:gdb下载(此处效果是根据Ubuntu来展示的):

        当完成下载源更新以后,直接输入 sudo apt install gdb 安装gdb工具,这里系统会要求你输入yes/no来确认是否下载,输入yes即可(图2.1.4)。(这里因为已经是最新版本了所有没有这一步)

(2.1.4) 

3.常用的使用方法和指令:

3.1:测试项目的创建:

        当在虚拟机上安装完成gdb调试以后,接下来对于基本命令进行解答
        在开始对于基本的gdb调试指令的介绍前,先在Ubuntu操作系统中创建一个名为 test.c的文件。

        接下来我们需要编写一段c语言代码在文档中,这里我们编写一个非常简单的能实现依次输出1234数字功能的代码,然后使用gdb来进行调试。代码和效果图如下:

#include<stdio.h>


int main()
	{
		int arr[4] = {1,2,3,4};
		int i=0;
		for(i=0;i<4;i++)
		{
			printf("%d\n",arr[i]);
		}
		return 0;
	}
	

        接下来开始使用gdb调试 ,开启gdb调试,预编译的语句是:gcc +(要运行的代码所在文件名称)。这里我们的代码名词叫test.c.所以输入gcc test.c进行预编译,然后接下我们就需要让系统输出结果,指令格式为:./a.out。  这样最后就输出想要的结果:

3.2:GDB调试基本指令:

 3.2.1:r(程序运行):

        run指令但直接输入r也可以实现同样的效果:该指令是让程序在GDB调试模式下运行起来。效果如下:
        这里r指令,仅仅只是让程序运行起来。如果程序存在错误,那么会直接报错出来

3.2.2:l(显示代码) :

         l指令本质上和Linux操作系统中的cat指令是一样的,对于代码进行读取的作用。但需要关注的一个点是,如果运行l指令,不给出行号限定的话。系统只会一次输出20行的代码。具体效果如下:(仔细看两端l指令的表示效果)

3.2.3:b(断点)/info(查看断点情况)

        在进行大工程,多线程的开发过程中。在代码出现bug,修复的过程中需要大量的通过断点的方式来确认各段代码的效果。那么这里的b(break)指令就能满足此需求。格式为,b+(所需要设置断点的代码行数),最后我们再用info指令来查看断点的信息。具体效果如下:

总结:

         本章节详细介绍了,GDB调试的作用和意义,并且介绍了基础的GDB调试的命令行指令的使用。如果对于GDB调试命令行指令还想有更深入的了解,可以关注私信我。会长期更新。
        对于Ubuntu,linux操作系统会继续连续的更新分享。后续也会对于在此操作系统中对各类嵌入式开发元器件的调试等进行分享


 

### 如何在 CentOS 上逐步安装 GDB 要在 CentOS 上安装 GNU 调试(GDB),可以按照以下方法操作。以下是详细的说明: #### 使用 `dnf` 或 `yum` 安装 GDB 对于较新的 CentOS 版本(如 CentOS 8),推荐使用 `dnf` 命令来管理软件包;而对于旧版本(如 CentOS 7),则应使用 `yum`。 运行以下命令以安装 GDB: ```bash sudo dnf install gdb # 对于 CentOS 8 及更高版本 # 或者 sudo yum install gdb # 对于 CentOS 7 和更早版本 ``` 此命令会自动下载安装最新版本的 GDB 到您的系统中[^2]。 #### 验证 GDB安装 完成安装后,可以通过以下命令验证 GDB 是否成功安装以及其版本号: ```bash gdb --version ``` 如果显示类似如下输出,则表示安装成功: ``` GNU Debugger Version 8.x.y ... ``` #### 设置环境变量(可选) 如果您正在调试涉及 GPU 加速的应用程序(例如 CUDA 应用程序),可能还需要设置一些额外的库路径以便加载必要的共享对象文件。例如,在某些情况下需要配置 `LD_LIBRARY_PATH` 来指向 NVIDIA 提供的相关动态链接库目录[^1]。 执行下面这条指令即可实现这一目的: ```bash export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` 另外需要注意的是,当通过官方渠道安装了 CUDA 工具链之后,默认已经包含了 `/usr/lib64/nvidia/libcuda.so` 文件的位置信息[^4]。因此通常无需手动干预这些特定依赖项的具体位置调整工作。 --- ### 总结 上述过程涵盖了从基础到高级选项的所有必要步骤用于指导您如何正确地在基于 RedHat/CentOS 平台之上部署好功能齐全版别的 GNU Debugging Toolset(GDB) 。 这不仅限定了基本的操作流程还兼顾到了针对特殊场景下的附加需求处理方式介绍.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值