美文网首页
Linux下的GDB调试器常用指令

Linux下的GDB调试器常用指令

作者: 极客开发者 | 来源:发表于2021-11-22 22:40 被阅读0次

1. 概述

  • GDB(GNU Debugger) 是一个用来调试 C/C++ 程序的功能的调试器,是Linux系统开发C/C++最常用的调试器

  • 程序员可以使用GDB来跟踪程序中的错误,从而减少程序员的工作量

  • Linux开发C/C++一定要熟悉GDB

  • VScode是通过调用GDB调试器来实现工作的

Windows中,常用的集成开发环境,如VS,VC等已经内嵌了相应的调试器

GDB的主要功能:

  • 设置断点(断点可以是条件表达式)
  • 使程序在指定的代码上暂停执行,便于观察
  • 单步执行程序,便于调试
  • 查看程序中变量值的变化
  • 动态改变程序的执行环境
  • 分析崩溃程序产生的core文件

2. 常用调试命令参数

调试开始:执行gdb [exefilename],进入gdb调试程序,其中exfilename为要调试的执行文件名,以下命令后括号内为命令的简化使用,比如 run(r),直接输入命令 r 就代表命令 run

help(h) #查看命令帮助,具体命令查询在gdb 中输入help + 命令
run(r) #重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件)
start(s) #单步执行,运行程序,停在第一行执行语句
list(l) #查看源代码(list-n从第n行开始查看代码。list+函数名:查看具体函数)
set #设置变量的值
next(n) #单步调试(逐过程,函数直接执行)
step(s) #单步调试(逐语句,跳入自定义函数内部执行)
backtrace(bt) #查看函数的调用栈帧和层级关系
frame(f) #切换函数的栈帧
info(i) #查看函数内部局部变量的数值
finish #结束当前函数,返回到函数调用点
continue(c) #继续执行
print(p) #打印值及地址
quit(q) #退出gdb
break + num(b) #在某行达断点
info + breakpoints #查看当前设置的所有断点
delete + breakpoints num(d) #删除第num个断点
display #跟踪查看具体的变量值
undisplay #取消跟踪观察变量
watch #被设置观察点的变量发生修改时,打印显示
i watch #显示观察点
enable breakpoints #启用断点
disable breakpoints #禁用断点
x #查看内存x/20xw 显示20个单元,16进制,4个字节没单元
run argv[1] argv[2] #调试命令传参
set follow-fork-mode child #Makefile项目管理,选择跟踪父子进程(fork)
  1. 编译源代码时需要加上 -g ,产生的可执行文件才能用 gdb 进行调试,例如:gcc -g main.cpp -o main
  2. 回车键:重复上一条命令

相关文章

  • 【性能优化】如何使用 gdb dump 内存

    1.GDB 调试器简介 GDB 全称 “GNU symbolic debugger”,是 Linux 下常用的程序...

  • Linux下的GDB调试器常用指令

    1. 概述 GDB(GNU Debugger) 是一个用来调试 C/C++ 程序的功能的调试器,是Linux系统开...

  • gdb介绍

    Linux指令中文说明传送入口 整理自Linux指令中文说明 功能强大的程序调试器gdb命令 包含在GNU的gcc...

  • 012 2019-06-27调试器

    Linux下和Mac系统下调试器的指令

  • 使用 GDB 调试 Android 应用

    GNU 工程调试器(GDB)是一个常用的 Unix 调试器。本文详述使用 gdb 调试 Android 应用和进程...

  • PWN入门到放弃

    Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,...

  • linux gdb详解

    一.GDB命令详解 在linux程序调成中gdb是最常用的工具。 关于gdb的说明可以在linux下直接 man ...

  • 常用GDB指令

    概述 GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。...

  • GDB 配置

    摘要:调试器 GDB 的配置 GDB 配置 使用 GDB 扩展来配置 GDB 事实上我还是觉得原生的 GDB 就...

  • 常用的Linux指令

    引言 记录工作中常用到的Linux指令,不断更新。 1、man man命令是Linux下的帮助指令,通过man指令...

网友评论

      本文标题:Linux下的GDB调试器常用指令

      本文链接:https://www.haomeiwen.com/subject/zjjitrtx.html