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
相关推荐
Apipi*6 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP7 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
沐晓时光7 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
SuperByteMaster9 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
广州浮点FLOATLIC9 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
Navigator_Z10 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
BLUcoding10 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK10 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil20810 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)10 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障