x/nfu-用gdb查看内存

用gdb查看内存

2007-12-08 12:43

用gdb查看内存

格式: x /nfu <addr>

说明
x 是 examine 的缩写

n表示要显示的内存单元的个数

f表示显示方式, 可取如下值
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
i 指令地址格式
c 按字符格式显示变量。
f 按浮点数格式显示变量。

u表示一个地址单元的长度
b表示单字节,
h表示双字节,
w表示四字节,
g表示八字节

Format letters are o(octal), x(hex), d(decimal), u(unsigned decimal),
t(binary), f(float), a(address), i(instruction), c(char) and s(string).
Size letters are b(byte), h(halfword), w(word), g(giant, 8 bytes)

举例
x/3uh buf
表示从内存地址buf读取内容,
h表示以双字节为一个单位,
3表示三个单位,
u表示按十六进制显示

详细例子:

(gdb) list
1       #include<stdio.h>
2       int main()
3       {
4
5               //char a[1];
6               //a[0]=‘a‘;
7               unsigned long long md5=14126471717450151013;
8
9               //printf("%d\n",a[0]);
10              return 0;
(gdb) break 10
Breakpoint 1 at 0x8048372: file test.c, line 10.
(gdb) run
Starting program: /data/compiler/g_platform/bradenwu/md5/test.out

Breakpoint 1, main () at test.c:10
10              return 0;
(gdb) x/8xb md5
0x8837f465:     Cannot access memory at address 0x8837f465
(gdb) x/8xb &md5
0xbfffefa0:     0x65    0xf4    0x37    0x88    0x2e    0x4f    0x0b   0xc4

时间: 2024-12-22 11:01:03

x/nfu-用gdb查看内存的相关文章

gdb查看内存区和寄存器i

一.用gdb查看内存 格式: x /nfu 说明 x 是 examine 的缩写 n表示要显示的内存单元的个数 f表示显示方式, 可取如下值 x 按十六进制格式显示变量. d 按十进制格式显示变量. u 按十进制格式显示无符号整型. o 按八进制格式显示变量. t 按二进制格式显示变量. a 按十六进制格式显示变量. i 指令地址格式 c 按字符格式显示变量. f 按浮点数格式显示变量. u表示一个地址单元的长度 b表示单字节, h表示双字节, w表示四字节, g表示八字节 Format let

GDB 查看内存

查看内存 网址:http://blog.chinaunix.net/uid-26980210-id-3300895.html 1. 网址:http://blog.csdn.net/haoel/article/details/2879 2. 网址:http://blog.csdn.net/haoel/article/details/2880 3. 网址:http://blog.csdn.net/haoel/article/details/2881 4. 网址:http://blog.csdn.ne

gdb 查看内存 raw bytes 及变量类型

对以下代码进行编译: int main() { int a[] = {1,2,3}; return 0; } $ gcc -g arrays.c -o arrays $ gdb arrays(gdb) break main(gdb) run(gdb) next 1)可以使用 print 显示内容, ptype 显示类型 (gdb) print a $1 = {1, 2, 3} (gdb) ptype a type = int [3] 2)使用 x 进行内存查看 需要指定两个参数,第一:数据块的首

GDB下查看内存命令(x命令)

http://blog.csdn.net/allenlinrui/article/details/5964046 可以使用examine命令(简写是x)来查看内存地址中的值.x命令的语法如下所示: x/<n/f/u> <addr> n.f.u是可选的参数. n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义. f 表示显示的格式,参见下面.如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式

经典的GDB调试命令,包括查看变量,查看内存

经典的GDB调试命令,包括查看变量,查看内存 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据.print命令的格式是: print print / 是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么就是/x. 一.表达式 print和许多GDB的命令一样,可以接受一个表达式,GDB会根据当前的程序运行的数据来计算这个表达式,既然是表达式,

Linux程序宕掉后如何通过gdb查看出错信息

我们在编写服务端程序的时候,由于多线程并且环境复杂,程序可能在不确定条件的情况下宕掉,还不好重新,这是我们如何获取程序的出错信息,一种方法通过打日志,有时候一些错误日志也不能体现出来,这时就用到我们的core dump文件了. 通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等.可以理解为把程序工作的当前状态存储成一个文件.许多程序和操作系统出错时会自动生成一个core文件. 1 我们系统一般默认是吧core dump 关掉的,可以通过ulimit -c 查看如

查看内存使用情况

NET Memory Profiler 查看内存使用情况 1 简介 .Net Memory Profiler(以下简称Profiler):专门针对于.NET程序,功能最全的内存分析工具,最大的特点是具有内存动态分析(Automatic Memory Analysis)功能. 2 安装 http://memprofiler.com/download.aspx 下载好后 直接下一步下一步 3 使用方法 支持7种类型.NET程序 启动跟踪(Profiler Application) 选定对应的调试方式

查看内存数据的函数

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Se

Android中如何查看内存

文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#2299813 像Linux这种现代操作系统的内存使用是很复杂的,因此很难准确的知道你的应用程序使用了好多内存. 查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同. 方式一,Running services 通过手机上Running services的Activit