`
isiqi
  • 浏览: 16816759 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

gdb中看内存(x命令)

阅读更多

你可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:

x/<n/f/u> <addr>

n、f、u是可选的参数。

n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。

f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。

u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。

bhwg

x/4bt &a

--------------------------------
<addr>表示一个内存地址。
n/f/u三个参数可以一起使用。例如:

命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示三个单位,u表示按十六进制显示。

输出格式
一般来说,GDB会根据变量的类型输出变量的值。但你也可以自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量的中的位的情况。要做到这样,你可以使用GDB的数据显示格式:

x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。
(gdb) p i
$21 = 101

(gdb) p/a i
$22 = 0x65

(gdb) p/c i
$23 = 101 'e'

(gdb) p/f i
$24 = 1.41531145e-43

(gdb) p/x i
$25 = 0x65

(gdb) p/t i
$26 = 1100101

分享到:
评论

相关推荐

    GDB查找内存泄露

    当程序运行完毕或到达预期状态后,输入`info leaks`命令,GDB将显示有关内存泄露的信息。这些信息通常包括分配但未释放的内存块的数量、大小以及分配这些内存的函数和源代码位置。 根据GDB提供的信息,开发者可以...

    GDB调试流程及命令大全

    在使用GDB时,可以结合这些命令进行组合操作,例如设置条件断点、追踪特定变量的值变化、分析内存状态、调试多线程程序等。此外,GDB还支持远程调试和自定义脚本,以适应更复杂的调试需求。为了确保安全,避免在调试...

    GDB常用命令总结

    GDB 常用命令总结 GDB(GNU Debugger)是一款功能强大且广泛应用的调试工具,对于软件开发和调试具有非常重要的作用。掌握 GDB 的常用命令是每一个程序员的必备技能,本文将对 GDB 的常用命令进行总结,旨在帮助...

    GDB命令手册-GDB QUICK REFERENCE

    GDB命令手册提供了快速参考,帮助开发者有效地追踪和解决问题。以下是GDB常用的一些核心命令及其详细解释: 1. **启动GDB** - `gdb program`:启动GDB并指定要调试的程序。 - `gdb core`:使用GDB调试一个核心...

    gdb调试常用命令大全

    ### GDB调试常用命令详解 #### 一、GDB简介 GDB(GNU Debugger)是一款由GNU项目开发的开源调试工具,广泛应用于Unix系统及类Unix操作系统中,如Linux、BSD等。它允许用户对程序进行细致入微的调试,包括但不限于...

    gdb调试常用命令总结

    ### gdb调试常用命令总结 #### 一、简介 在软件开发过程中,调试是必不可少的一环。gdb(GNU Debugger)作为一款广泛使用的调试工具,它提供了丰富的功能来帮助开发者找到并修复程序中的错误。本文主要介绍gdb在多...

    参考资料—GDB的基本调试命令用法1

    `x`命令用于查看内存地址的内容,如`x/10wx 0x1000`,表示查看从0x1000开始的10个四字节(word)内存单元的内容。 7. **调试技巧** 了解函数调用栈的概念,每个函数调用对应一个栈帧,栈顶的栈帧(最深帧)是最近...

    GDB基本命令

    GDB 基本命令 GDB(GNU Debugger)是一种功能强大的调试工具,广泛应用于 Linux 和 Unix-like 操作系统中。它可以帮助开发者调试程序,查找和修复错误。本文将对 GDB 的基本命令进行详细介绍,帮助初学者快速掌握 ...

    gdb常用命令说明pdf

    对于初学者来说,了解并掌握GDB的基本命令是提升开发效率的关键。以下是一些GDB的常用命令及其详细说明: 1. **启动GDB** - `gdb`:启动GDB交互式环境。 - `gdb 程序名`:载入指定的可执行文件进行调试。 - `gdb...

    gdb调试常用命令及调试例子

    通过《GDB调试程序.doc》文档,你将找到更多实际调试案例,包括多线程调试、内存泄漏检测等复杂场景的处理方法。文档可能还会涵盖GDB图形界面(如ddd或gdbgui)的使用,以及如何结合版本控制工具(如Git)进行调试。...

    GDB 命令说明 GDB命令归纳

    自己归纳总结的GDB调测命令(共整理了约140多个命令使用方法),掌握这些指令,基本上对程序的调试可以达到得心应心了,原创的资料,希望给大家带来帮助!

    GDB调试命令大全

    ### GDB调试命令大全 #### 一、简介 GDB(GNU Debugger)是GNU项目下的一款强大的源代码级调试器,主要用于调试C/C++程序。本文档将详细介绍一系列GDB命令,帮助开发者更好地理解和掌握GDB的使用方法,提高调试...

    GDB调试工具常用命令使用手册,完美中文版

    《GDB调试工具常用命令使用手册》是一份详细的中文指南,专为C/C++程序员提供GDB调试工具的使用教程。GDB是一个强大的调试器,主要用于查找和修复代码中的错误。在使用GDB之前,必须在编译时通过-g选项添加调试信息...

    Linux中GDB调试器常用命令

    ### Linux中GDB调试器常用命令详解 #### 一、简介 GDB(GNU Debugger)是GNU项目下的一款开源调试工具,广泛应用于Linux系统中,用于调试C、C++等语言编写的程序。通过GDB,开发人员可以方便地设置断点、观察变量...

    GDB命令大全

    3. **检查程序状态**:当程序因断点等原因暂停时,可以通过GDB来查看当前的内存状态、变量值等,从而帮助理解程序的行为。 4. **修改程序执行环境**:用户可以在程序运行过程中动态地更改变量值或其他执行环境参数...

    GDB调试常用命令及使用手法

    GDB调试常用命令及使用手法

    linux gdb命令手册

    【Linux GDB命令手册】 GDB(GNU Debugger)是一款强大的调试工具,主要用于C和C++程序,但也支持其他语言。在Linux环境下,GDB可以帮助开发者定位和修复代码中的错误,提高软件的质量。以下是对GDB命令的详细说明...

    gdb命令详解.pdf

    ### GDB命令详解 #### 一、GDB简介与核心功能 GDB(GNU Debugger)是一款强大且功能全面的调试工具,主要用于Unix类操作系统(包括Linux等)中的C/C++程序调试。它允许用户控制程序的执行流程,观察并修改程序状态...

    GDB命令参考手册

    **内存查看命令(x)** - **命令缩写**:无 - **用法**:`x/(length)(format)(size) addr` 或 `x/6(o/d/x/u/c/t)(b/h/w) addr` - **作用**:以指定格式显示内存地址`addr`或变量的值。 ##### 15. **显示当前...

    gdb调试器命令学习总结笔记

    ### gdb调试器命令详解 #### 引言 GDB(GNU Debugger)是Linux系统中一款功能强大的源码级调试工具,适用于C和C++程序的调试。本文将深入解析gdb调试器的基本命令,帮助读者掌握如何利用gdb进行有效的程序调试。 ...

Global site tag (gtag.js) - Google Analytics