C与语言GDB调试

C语言第二十天笔记

GDB

GDB是GUN开源组织发布的一款强大的Unix/Linux下的程序调试工具。

GDB常用命令

GDB查看源代码指令------list

显示指定位置的周围的源代码;可以通过行号、文件名、函数名以及三者之间的组合来定位指定位 置,显示代码的行数可以通过设置listsize来设定,但是该设置只是本次有效;简化命令:l

复制代码
set listsize 20                    # 每次list显示指定区域的20行代码,默认10行    
show listsizelist   linenumber     # 显示 linenumber附近的代码    
list 50                            # 显示当前源文件的第50行的附近代码   
list function                      # 显示函数代码   
list test.c:30                     # 显示指定源文件的第30行的附近代码  
list +/-                           # 向后/前显示源代码  
list <first>,<last>                # 显示first ,last之间的内容 
list 100,200                       # 显示当前源文件代码行100到200间的行
GDB查看设置------info
复制代码
 info registers               # 查看寄存器信息         
info frame                    # 查看栈信息(帧信息)       
info  locals                  #显示当前函数的所有局部变量名及其值       
info break/b                  #查看断点信息       
info args                     #显示当前函数的参数名及其值 
info prog                     #查看调试程序的执行状态       
info files                    #显示调试文件的详细信息       


显示调试的代码
设置显示的行数
c 复制代码
set listsize 20 //设置显示行数,默认10行
    
list 1/l 1 //1是起始行号
GDB运行程序
c 复制代码
run
设置调试断点
c 复制代码
b 15 //15设置断点
清除断点
c 复制代码
info break 			//查看断点信息
delete break 1 		//删除编号为1的断点
clear linenum 		//清除linenum行上所有断点 clear 15
调试代码
c 复制代码
run //运行程序
  
continue  //运行到条件满足为止
查看变量值
c 复制代码
display //变量名
退出GDB
c 复制代码
quit/q
相关推荐
揽星河..1 小时前
【C语言】猜数字游戏
c语言·算法·游戏
feng_you_ying_li2 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务2 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统2 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter2 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
用户8351414049493 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu3 小时前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip
坚定的共产主义生产设备永不宕机4 小时前
服务器从裸机开始搭建ESXI虚拟机
linux·服务器·网络
刚入门的大一新生4 小时前
Linux-线程封装
linux·运维·服务器