Linux系统下GDB调试

本文详细介绍如何使用GDB进行Linux程序调试,包括添加调试信息、设置断点、运行程序查看变量等步骤。此外还介绍了如何利用core文件快速定位段错误。

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

GDB调试具体过程

(1)编译程序时,通过gcc的-g选项为程序添加调试信息,并启动GDB

在这里插入图片描述

(2)显示代码及行号,并设置断点

在这里插入图片描述

(3)运行程序,可以查看变量的类型与值

在这里插入图片描述

(4)继续执行,打印变量的值,进行单步调试

在这里插入图片描述

(5)观察变量值变化

在这里插入图片描述
发现s3=10不能满足大于10的循环条件

GDB段错误调试

在这里插入图片描述

GDB段错误调试可借助core文件,快速定位问题

在这里插入图片描述

总结:
(1)编译程序时,通过gcc的-g选项为程序添加调试信息,例如:
gcc –g –o output helloworld.c
(2)通过命令:gdb [程序名] 来启动GDB(该程序名为生成的可执行程序)
(3)通过参数 l或者list 显示代码及行号; b 行号或者b 函数名来设置断点
(4)(gdb) run 运行程序;(gdb)whatis 可查看变量类型
(gdb) p 变量 用来打印变量的值; (gdb) n 用来进行单步调试;(gdb)q 退出调试
(5)产生core文件:ulimit –c num #设定core文件容量(num为数字,为0
是不产生core文件),num的值设置后不能改变
(6)定位问题:gdb配合core文件,定位问题 : gdb 程序名 core文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值