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
相关推荐
顺风尿一寸2 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode8 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫10 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux