首页 > 其他分享 >常用GDB调试命令

常用GDB调试命令

时间:2024-02-05 22:33:06浏览次数:31  
标签:常用 函数 查看 GDB 设置 变量名 断点 调试

1.启动gdb调试
gcc -g hello.c -o hello / gdb hello
2.退出调试
quit
3.给程序设置参数/获取设置参数
set args 10 20
show args
4.查看当前文件代码
list 行号/函数名(不加则从默认位置显示)
5.查看非当前文件代码
list 文件名:行号/函数名
6.设置显示的行数
set list 行数
7.设置断点
break 行号/函数名
8.查看断点
info break
9.删除断点
delete 断点编号
10.设置断点生效/无效
enable/disable 断点编号
11.设置条件断点(一般用在循环的位置)
break 10 if i==5
12.运行GDB程序
start:程序停在第一行
run:遇到断点才停止
13.继续运行到下一个断点停止
continue
14.向下执行一行代码(不会进入函数体)
next
15.查看变量
print 变量名:打印变量值
ptype 变量名:打印变量类型
16.向下单步调试(遇到函数体进入函数体)
step
finish:跳出函数体
17.自动查看变量
display/undisplay 变量名
18.其他
until 66:直接运行到第66行
set var 变量名=变量值(循环用的比较多)

标签:常用,函数,查看,GDB,设置,变量名,断点,调试
From: https://www.cnblogs.com/fly-smart/p/18008945

相关文章

  • git 常用命令初步
    创建一个新项目之后,在该项目文件夹下打开gitbash,然后执行gitinit来初始化本地库之后用gitstatus查看当前状态,其中会显示当前所在分支,已进行的commit和未进行的commit(如果有文件未进行gitadd,只存在于工作区,也会提示)然后用gitadd[file_name]把工作区某个文件放到暂......
  • 什么是Vue样式穿透以及常用的实现方法
    在Web前端开发中,样式穿透是一个重要的主题,它可以帮助我们更好地定制化组件样式,提升用户体验。本文将为您介绍Vue中样式穿透的概念,以及几种常用的实现方法,希望对您的前端开发工作有所帮助。什么是样式穿透?样式穿透是一种在Vue组件中使用父组件的样式来渲染子组件的技术。在Vue中,子组......
  • Cesium常用知识点
    构建四元数//地理位置坐标(三维)constposition=Cesium.Cartesian3.fromDegrees(-123.0744619,44.0503706,height);constheading=Cesium.Math.toRadians(135);//航向constpitch=0;//俯仰constroll=0;//横滚角consthpr=newCesium.Headi......
  • redis安装及常用配置
    目录一、引言1.1数据库压力过大1.2数据不同步1.3传统锁失效二、Redis介绍2.1NoSQL2.2NoSQL的类别2.2.1键值(Key-Value)存储数据库2.2.2列存储数据库2.2.3文档型数据库2.2.4图形(Graph)数据库2.3Redis是什么2.4Redis的应用场景2.5Redis优缺点2.5.1Redis优势2.5.2Redi......
  • Docker基本原理与常用命令
    1docker架构K8S:CRI(ContainerRuntimeInterface)Client:客户端;操作docker服务器的客户端(命令行或者界面)Docker_Host:Docker主机;安装Docker服务的主机Docker_Daemon:后台进程;运行在Docker服务器的后台进程Containers:容器;从镜像创建的运行实例.可以被启动,开始,停止,删除.每......
  • docker中调试java代码
    以shiro550为例子在vulhub/shiro/CVE-2016-4437启动环境docker-composeup-d然后看一下当前容器启动的命令是java-jar/shirodemo-1.0-SNAPSHOT.jar将容器内的jar包复制出来dockercp容器id:/shirodemo-1.0-SNAPSHOT.jar.然后ijidea新建项目,并且解压jar包到项......
  • Java-08常用容器
    List接口:java.util.List<>。实现:java.util.ArrayList<>:变长数组java.util.LinkedList<>:双链表函数:add():在末尾添加一个元素clear():清空size():返回长度isEmpty():是否为空get(i):获取第i个元素set(i,val):将第i个元素设置为val栈类:java.util.Stack<>函......
  • MySQL常用图形管理工具
    MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有MySQLWorkbench、phpMyAdmin、Navicat、MySQLDumper、SQLyog、MySQLODBCConnector。其中,phpMyAdmin和Navicat提供中文操作界面;MySQLWorkbench、MySQLODBCConnector、MySQLDumper为英文界面。下......
  • oracle常用sql
    --备份tbluser的数据到tbluser_bak中createtabletbluser_bakasselect*fromtbluser;--此处不加as也行--删除备份表的数据truncatetabletbluser_bak;--还原表数据insertintotbluser_bakselect*fromtbluser;--查看数据是否恢复select*fromtbluser_bak;-......
  • [转]gdb源码安装,指定使用的python版本
    转自:https://www.cnblogs.com/shengulong/p/8053370.html gdb调试python的时候,需要根据不同的python版本2.6、2.7、3.x安装相应的gdb;如何指定关联的python版本?下面gdb源码,解压后,进入目录:./configure-h并没有发现--with-python的选项。没有也没有问题,没有也可以自己加:whi......