再探gdb常用命令

2024-06-18 13:58
文章标签 常用命令 gdb

本文主要是介绍再探gdb常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



前面已经有了一篇对gdb常用命令的总结,见 http://blog.csdn.net/u011848617/article/details/12838875 

这里对目前学过的gdb命令进行了较完整的整理。


1、使用gdb调试代码,就要在编译时添加-g选项。

2、gdb -q —————— 启动gdb时不输出版权说明

3、gdb打开文件:
  (1)gdb filename;
  (2)先输入gdb,然后在gdb命令行输入file filename。

4、gdb选项(gdb中好多命令都有自己的简写字母):
   不输入直接回车 ------------ 重复执行上一条命令
   q(quit) ------------------- 退出gdb
   file filename ------------- 打开文件filename
   l(list) ------------------- 显示10行代码,若再次运行则显示接下来10行代码
   list 5,10 ---------------- 显示第5到10行的代码
   list test.c:5,10 -------- 显示源文件test.c中第5到10行的代码
   list get_sum -------------- 显示get_sum函数周围的代码
   list test.c:get_sum ------- 显示源文件test.c中get_sum函数周围的代码
   shell XXX ----------------- 运行shell命令XXX
   search/forward str -------- 从当前行向前查找第一个匹配的字符串str
   reverse-search str -------- 从当前行向后查找第一个匹配的字符串str
   r(run) -------------------- 运行程序
   help XXX ------------------ 查看命令XXX的使用方法
   help all ------------------ 查看所有命令的使用方法
   whatis 变量或表达式 ------- 显示变量或表达式的数据类型
   set variable 变量=值 ------ 给变量赋值
   kill ---------------------- 结束当前程序的调试
   continue ------------------ 让程序继续执行,直到下一个断点或者运行完为止
   n(next) ------------------- 继续执行下一条语句,遇到函数把函数当作一条语句来执行
   step ---------------------- 继续执行下一条代码,遇到函数会跟踪进入函数
   nexti/stepi --------------- 单步执行一条机器指令
   watch 变量名 -------------- 设置变量监测点
   bt(backtrace) ------------- 显示程序当前运行位置和对当前位置的栈跟踪
   display 变量或表达式 ------ 添加观察点,以后每次运行命令都会显示对应变量或表达式的值
   undisplay num ------------- num为设置的display编号,可以用info display获取,不能用变量名

5、设置断点:
   b(break) 行号 ----------------------- 在第n行设置断点
   break fun_name ---------------------- 为函数fun_name设置断点
   break 行号或函数名 if 条件 ---------- 程序在运行中,当条件满足时,在某行中断暂停执行
   watch 条件表达式 -------------------- 程序运行中,满足条件时暂停执行,不需要写行号
   info breakpoints -------------------- 查看当前所有的断点
   disable 断点编号 -------------------- 使断点n失效
   enable 断点编号 --------------------- 使断点n有效
   clear ------------------------------- 删除本行断点(如果存在的话)
   clear 行号 -------------------------- 删除此行断点
   clear 函数名 ------------------------ 删除该函数的断点
   delete 断点编号 --------------------- 删除指定编号的断点

6、print命令:
   print XXX ------------------------------- 打印输出XXX的值
   print 变量 = 值 ------------------------- 对变量赋值
   print 表达式@要打印值的个数n ------------ 打印以表达式值开始的n个数

7、watch和display设置监测点的区别:
   watch监测只有当监测的变量值发生变化时才显示变量,而且旧值和新值都会显示。
   display监测每一次运行命令都会显示变量的值,只会显示变量的最新值。


这篇关于再探gdb常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072186

相关文章

jvm调优常用命令行工具详解

《jvm调优常用命令行工具详解》:本文主要介绍jvm调优常用命令行工具的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一 jinfo命令查看参数1.1 查看jvm参数二 jstack命令2.1 查看现场堆栈信息三 jstat 实时查看堆内存,gc情况3.1

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

GDB调试程序入门

http://blog.csdn.net/haoel/article/details/2880 用GDB调试程序 GDB概述 ———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所

linux运维排查常用命令(开发专享)

cd: 进入到某个目录下 cd hikvision ll:详细展示该目录下有的文件 ll su 用户名:切换用户名 例子: su root 根据字符串在文件中查找信息:Grep –a –i 字符串 文件名 例子: grep -a -i 'indexCode=4a28a0dfe0244c0cbabcd9b2c3b60327' nms.nmsweb.debug.log cat 文

git的使用和gdb工具

1.git的使用 首先现在gitee上新建一个仓库 然后复制克隆链接到本地仓库 在本地仓库中,我们可以用git status查看仓库状态 我们要提交代码就是要三步 git add 文件名 git commit -m "写提交的日志" git push 将代码上传到远端仓库 然后你就完成一次提交了 2.调试工具gdb 程序的发布模式有两种,de

GDB watch starti i files

watch break starti 在程序的最初开始运行的位置处断下来 ​​ i files 查看程序及加载的 so 的 sections ​​

Linux概述、远程连接、常用命令

Linux介绍 Linux操作系统介绍 Linux操作系统的特点 开源免费安全稳定可移植性好 Linux可以安装在不同的设备上 高性能 Linux的使用领域 应用服务器数据库服务器网络服务器虚拟化云计算嵌入式领域个人PC移动手机 Linux文件系统和目录 /:根目录,唯一/home:用户目录/root:系统管理员root目录/usr:应用程序/etc:系统配置boot:内核文件/tm

GDB 查看汇编

查看汇编 x disassemble