Linux环境下使用GDB调试C程序

本文介绍了如何在Linux环境下使用GDB进行C程序调试,强调了-g参数的重要性,详细阐述了装载程序、启动运行、设置断点等基本操作,并列举了一些常用的GDB命令。通过GDB,可以有效地定位和解决C语言中的各种bug,尤其是内存问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写这篇博客的目的是因为我刚刚用gdb解决了一个c语言中赋错了值的问题,导致整个程序的运行结果是不正常的,这是我求助于gdb解决了这个问题,之前也用gdb这个神器解决过一些运行时的内存问题,比如说c程序中非常常见的segment error。这篇博客为了对gdb的常用命令做一个备忘,记录回顾下使用gdb的过程加深记忆。gdb是linux环境下一个非常著名的C语言调试工具,而且也非常的好用,对于解决C语言的各种bug非常拿手,对于c语言下常见的内存问题,可以说能非常快速的定位并解决问题。这篇博客首先通过介绍gdb的基本使用,后面补充gdb的各种使用命令,我还想列出一些典型的使用环境来做一个总结性的说明,不过这个就留到以后再补充吧,现阶段,我对gdb的了解还是比较有限的。

1、gdb的基本使用

如果要使用gdb来调试C应用,在编译C程序的时候必须加入-g参数,shell命令如下所示:

gcc -g hello.c -o hello

通过这个参数,可以在编译的时候在程序中加入必要的调试信息。突然想起一个问题,没有加-g参数来调试会出现什么情况呢?根据其他人的说法,是看不到变量名等信息,将会以内存中的地址替代,下次有机会试下。

在编译好之后就可以通过gdb装载程序来调试了,启动gdb的方式就是在shell中直接输入gdb,要调试那个程序,就把程序名作为参数跟在命令后面,shell命令如下:

gdb hello

这里的hello就是上面通过gcc编译产生的包含有调试信息的程序文件。程序装载之后并没有开始真正运行程序,要让程序运行起来我们才可以观察程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值