GDB常用命令详解

一、调试工具gdb常用命令汇总

gdb是一款强大的调试工具,可以帮助我们快速定位代码中的错误。下面列出gdb常用命令及用法:

1. start

运行程序并停在程序的起始点


(gdb) start

2. break

设置断点


(gdb) break file.c:line

3. run

运行程序直到遇到断点


(gdb) run

4. next

执行当前行并移到下一行


(gdb) next

5. step

进入当前行所调用的函数体内部


(gdb) step

二、gdb调试常用命令

gdb除了上文提到的常用命令外,还有一些常用的调试命令,下面做一些详细的介绍。

1. info

查看程序信息


(gdb) info functions                // 列出所有函数
(gdb) info breakpoints             // 列出所有断点
(gdb) info watchpoints             // 列出所有监视点
(gdb) info locals                   // 列出当前函数中的本地变量
(gdb) info args                     // 列出当前函数的参数

2. print

打印变量的值或表达式的计算结果


(gdb) print var
(gdb) print expression

3. set

修改变量的值


(gdb) set var = new_value

4. continue

继续执行程序


(gdb) continue

5. frame

查看当前堆栈帧


(gdb) frame

三、gdb命令

在使用gdb时,有一些必须掌握的基本命令。

1. help

查看帮助信息


(gdb) help
(gdb) help info
(gdb) help break

2. quit

退出gdb


(gdb) quit

3. file

指定调试的可执行文件


(gdb) file program

四、gdb常用调试命令总结

通过以上介绍,我们梳理出来了一些常见的gdb调试命令,下表给出了这些命令及其用途。

命令 用途
start 运行程序并停在程序的起始点
break 设置断点
run 运行程序直到遇到断点
next 执行当前行并移到下一行
step 进入当前行所调用的函数体内部
info 查看程序信息
print 打印变量的值或表达式的计算结果
set 修改变量的值
continue 继续执行程序
frame 查看当前堆栈帧
help 查看帮助信息
quit 退出gdb
file 指定调试的可执行文件

五、gdb下运行程序的命令

在gdb中,也可以使用一些命令来运行程序。

1. r

快捷方式,等同于run


(gdb) r

2. starti

从程序的起始点开始运行,每次只执行一条汇编指令


(gdb) starti

3. nexti

执行下一条汇编指令


(gdb) nexti

六、linux gdb命令

gdb不仅支持在本地运行,也可以在远程Linux系统中调试程序。下面列举一些Linux系统下常用的gdb命令。

1. gdbserver

在Linux系统上启动gdbserver


$ gdbserver host:port program

2. set remote debugging

设置gdb为远程调试模式


(gdb) set remote debugging on

3. target remote

与远程gdbserver建立连接


(gdb) target remote host:port

七、总结

本文对gdb常用命令进行了详细的介绍,包括调试工具gdb常用命令汇总、gdb调试常用命令、gdb命令、gdb常用调试命令总结、gdb下运行程序的命令和linux gdb命令。在实际编程开发中,熟练掌握这些命令可以极大地提高代码调试的效率。

原创文章,作者:REAIC,如若转载,请注明出处:https://www.506064.com/n/330227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
REAICREAIC
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • Powershell常用命令总结

    PowerShell是微软公司开发的一种基于任务和命令的脚本语言及相应的开发工具。它可跨平台运行,在Windows操作系统上是强大且广泛使用的命令行工具。本文将介绍PowerShe…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25

发表回复

登录后才能评论