【Linux】开发工具之gdb调试器

目录

  • 前言
  • 1、debug与release
  • 2、gdb选项

前言

本篇文章进行调试器gdb的学习!!!


1、debug与release

debug会生成需要调试的信息,release不会生成

  • 程序的发布方式有两种,分别是:debug模式和release模式

  • Linux中gcc/g++编译出来的二进制程序,默认是release模式

  • 使用gdb进行调试,需要编译出来的二进制程序是debug模式的,需要加-g选项

  • debug模式下的二进制程序是比release大的,多了调试的符号

【Linux】开发工具之gdb调试器_第1张图片


2、gdb选项

格式:gdb binFile(debug模式下的二进制可执行文件)

调试命令:

  • quit 或 ctrl + d:退出gdb调试

  • r 或 run:运行程序,遇到断点会停下来

  • list 或 l [行号]:显示binFile源代码,连续按回车,会接着上次显示的代码继续显示,每次十行

  • list 或 l [函数名]:列出某个函数的源代码

  • n 或 next:逐过程,跳过函数执行

  • s 或 step:逐语句,会进入函数调用

  • b 或 break [行号]:在某一行设置断点

  • b 或 break [函数名]:在某个函数开头设置断点

【Linux】开发工具之gdb调试器_第2张图片

  • info b 或 break:查看已经打的断点的信息

  • p 变量:打印变量的值

  • set var:修改变量的值

  • display [变量名]:跟踪查看一个变量,每次停下来都显示它的值 (监视器)

  • undisplay [编号]:取消对先前设置的那些变量的跟踪

【Linux】开发工具之gdb调试器_第3张图片

  • finish:执行当前函数返回,然后停下来等待信息

  • until X行号:跳至X行

  • continue 或 c:从当前位置开始连续而非单步执行程序(跳到下一个断点处)

【Linux】开发工具之gdb调试器_第4张图片

  • breaktrace(或bt):查看各级函数调用及参数

  • delete breakpoints:删除所有断点

  • delete breakpoints [n]:删除序号为n的断点

  • disable breakpoints:禁用断点

  • enable breakpoints:启用断点

  • info 或 i [locals]:查看当前栈帧局部变量的值

【Linux】开发工具之gdb调试器_第5张图片


如何理解:和windows IDE(vs2019Debug对应)

【Linux】开发工具之gdb调试器_第6张图片


部分指令思维导图:

【Linux】开发工具之gdb调试器_第7张图片

你可能感兴趣的:(Linux,linux,运维,服务器)