首页 > 其他分享 >gdb调试命令

gdb调试命令

时间:2023-08-21 11:46:04浏览次数:35  
标签:10 函数 行号 默认 命令 gdb 断点 调试

命令行传参

使用举例:

# 使用 gdb 调试
1$ gdb app
# 通过gdb给应用程序设置命令行参数
2(gdb) set args 11 22 33 44 55
# 查看设置的命令行参数
3(gdb) show args
Argument list to give program being debugged when it is started is "11 22 33 44 55".

gdb中启动程序

# 两种方式
# 方式1: run/r   
(gdb) run  //会执行到程序结束
# 方式2: start (gdb) start
(gdb) start //执行到main函数第一行

查看代码

(gdb) list //默认查看main函数所在的文件

# 列值这行号对应的上下文代码, 默认情况下只显示10行内容
(gdb) list 行号

# 显示这个函数的上下文内容, 默认显示10行
(gdb) list 函数名

#切换文件

# 切换到指定的文件,并列出这行号对应的上下文代码, 默认情况下只显示10行内容
(gdb) l 文件名:行号

# 切换到指定的文件,并显示这个函数的上下文内容, 默认显示10行
(gdb) l 文件名:函数名

 

#设置显示的行数

(gdb) set listsize 行数

断点操作

# 在当前文件的某一行上设置断点
# break/b
(gdb) b 行号
(gdb) b 函数名 //停止在函数的第一行

# 在非当前文件的某一行上设置断点
(gdb) b 文件名:行号
(gdb) b 文件名:函数名 # 停止在函数的第一行

# 必须要满足某个条件, 程序才会停在这个断点的位置上
(gdb) b 行数 if 变量名==某个值

# 查看设置的断点信息
(gdb) i b #info break

# 删除断点举例:
(gdb) d 1 # 删除第1个断点
(gdb) d 2 4 6 # 删除第2,4,6个断点

# 举例, 删除第1到第5个断点
(gdb) d 1-5

# 设置某一个或者某几个断点无效
(gdb) dis 断点1的编号 [断点2的编号 ...]

# print == p
(gdb) p 变量名

# 如果变量是一个整形, 默认对应的值是以10进制格式输出,其它格式将fmt设为相应字符
(gdb) p/fmt 变量名

 

标签:10,函数,行号,默认,命令,gdb,断点,调试
From: https://www.cnblogs.com/ddrm/p/17645608.html

相关文章

  • Docker 命令汇总
    容器操作查看正在运行的容器:dockerps查看所有容器(包括停止的容器):docker ps -a启动容器:docker start停止容器:docker stop进入正在运行的容器:docker exec -it /bin/bash导出容器为镜像:docker commit删除容器:docker rm镜像操作查看本地镜像列表:docker images拉取镜像:d......
  • Java调试绘帧
    1.打印栈回溯(1)直接使用newRuntimeException("stack_dump").printStackTrace();1publicclassOuter{2privateintx=10;34publicvoidprint(){5Innerinner=newInner();6inner.print();7}8clas......
  • Visual Studio 2022 实用调试技巧
    1、什么是bug?bug本意是昆⾍”或“⾍⼦”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或问题,简称程序漏洞。“Bug”的创始⼈格蕾丝·赫柏(GraceMurrayHopper),她是⼀位为美国海军⼯作的电脑专家,1947年9⽉9⽇,格蕾丝·赫柏对HarvardMarkII设置好17000个继电器进⾏......
  • ubunut 命令
    1.显示当前文件夹下文件数量 ls-l|grep"^-"|wc-l 2.查看占用硬件资源的进程 查看占用0号usb相机的进程fuser/dev/video0 或者查看占用英伟达显卡的进程 fuser-v/dev/nvidia* 3.杀死进程的命令kill-9进程id ......
  • 常见反调试技术
    反调试技术一.使用WindowsAPI函数1.IsDebuggerPresent函数2.CheckRemoteDebuggerPresent函数3.OutputDebuggerPresent函数二.手动检测数据结构1.检测BeingDebugged属性BeingDebugged属性位于PEB结构的第二个字节位置处moveax,dwordptrfs:[30h];//fs:[30h]指向的......
  • Linux常用命令_拷贝移动、打包压缩、文本编辑命令(cp、mv、tar、vim)
                ......
  • Linux常用命令_文件目录操作命令(mkdir、rm、rmdir)
       ......
  • Linux常用命令_文件命令操作命令(ls、cd、cat、more、tail)
          ......
  • VS调试WSL中的.NET应用
    先决条件VisualStudio2019v16.9预览版1或更高版本(通过WSL可选组件进行.NET调试)。若要检查WSL组件,请选择“工具” >“获取工具和功能”。在VisualStudio安装程序中,选择“单个组件”,然后键入“WSL”搜索安装组件。安装WSL。安装分发版。笔者本地环境:Vi......
  • 基本的DOS命令
    基本的DOS命令感觉看着有点懵鼠标右键是粘贴(不能用快捷键)需复习慢慢理解......