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
相关推荐
刃神太酷啦12 分钟前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
赵文宇(温玉)30 分钟前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉
萌动的小火苗2 小时前
数据结构面试题【无答案】
c语言·开发语言·数据结构·链表
Brilliantwxx2 小时前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器
刚入门的大一新生3 小时前
Linux-命令行参数和环境变量
linux·运维·服务器
我星期八休息4 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
水饺编程4 小时前
第5章,[Win32 章节] :Polygon 函数和多边形填充模式
c语言·c++·windows·visual studio
wuminyu4 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
实心儿儿5 小时前
Linux —— 数据链路层
linux·网络·智能路由器
一木 之林5 小时前
C/C++ 面向对象编程(OOP)(进阶)
java·c语言·c++