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 进行内存查看

需要指定两个参数,第一:数据块的首地址,第二:数据块的字节数,如下(&a为首地址, 12为数据块字节数)

(gdb) x/12xb &a
0x7fff5fbff56c: 0x01  0x00  0x00  0x00  0x02  0x00  0x00  0x00
0x7fff5fbff574: 0x03  0x00  0x00  0x00
时间: 2024-10-09 06:37:46

gdb 查看内存 raw bytes 及变量类型的相关文章

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表示四字节

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

shell之基础概念与变量类型

静态语言:编译型语言 事先转换成可执行格式 强类型(变量) 关键字: C C++ JAVA C# 动态语言:解释型语言 on the fly 弱类型 边解释边执行 Asp.net shell PHP Python perl 面向过程 面向对象 变量:内存空间,命名 变量类型:事先确定数据的存储格式和长度 字符 数值 整型 浮点型:11,23 整型:8bit 256 0-255 溢出-->缓冲区溢出 逻辑: 布尔类型:0,1 逻辑运算:与,或,非,异或 1:真 0:假 1&0=0 0&

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

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

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,如果地十是指令地址,那么格式

深入理解数据类型、变量类型属性、内存四区和指针

数据类型可理解为创建变量的模具(模子):是固定内存大小的别名. 数据类型的作用:编译器预算对象(变量)分配的内存空间大小. 既能读又能写的内存对象,称为变量:若一旦初始化后不能修改的对象则称为常量. 变量本质:(一段连续)内存空间的别名. 内存四区 栈区(stack):也叫临时区,由编译器自动分配释放,存放函数的参数值,局部变量的值等. 堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收. 全局区(静态区)(static):全局变量和静态变

配置JVM内存 查看内存工具

一.配置JVM内存 1.配置JVM内存的参数有四个: -XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定: -XmsJavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值: -XmnJavaHeapYoung区大小,不熟悉最好保留默认值: -Xss每个线程的Stack大小,不熟悉最好保留默认值: 2.如何配置JVM内存分配: (1)当在命令提示符下启动并使用JVM时(只对当前运行的

【C语言探索之旅】 第二部分第六课:创建你自己的变量类型

0 内容简介 1.课程大纲 2.第二部分第六课: 创建你自己的变量类型 3.第二部分第七课预告: 文件读写 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量