您好,欢迎访问985文库网

上传文档赚钱

当前位置:首页 > 文章列表 > gdb打印数组的方法

「LINUX专题」gdb打印数组的方法

格式控制

以缩进格式显示结构体,且每个元素占一行,开启此项方便查看。

set print pretty on ; ;


静态数组打印

p 数组名

int static_array[5] = {11,12,13,14,15};


(gdb) p static_array

$1 = {11, 12, 13, 14, 15}


动态数组打印

p 首地址@元素个数

int *dynamic_array = (int *) malloc(5*sizeof(int));


(gdb) p dynamic_array # 打印动态数组的数组名,得到的是指针的值,即指针保存的内存地址。

$2 = (int *) 0x602010


(gdb) p *dynamic_array@5 # 从dynamic_array开始,打印5个与*dynamic_array相同类型(这里为int)的数组元素

$3 = {0, 1, 2, 3, 4}


其它

(1)如何打印变量的值?

(print var) ;

(gdb) print /x var ;

这里可以知道,print可以指定显示的格式,这里用';/x';表示16进制的格式。 ;

可以支持的变量显示格式有: ;

x ; 按十六进制格式显示变量。 ;

d ; 按十进制格式显示变量。 ;

u ; 按十六进制格式显示无符号整型。 ;

o ; 按八进制格式显示变量。 ;

t ; 按二进制格式显示变量。 ;

a ; 按十六进制格式显示变量。 ;

c ; 按字符格式显示变量。 ;

f ; 按浮点数格式显示变量。

(2)如何打印变量的地址?(print &;var) ;

(3)如何打印地址的数据值?(print *address) ;

(4)如何查看当前运行的文件和行?(backtrace) ;

(5)如何查看指定文件的代码?(list file:N)


相关文章推荐:

暂时没有评论,评论一个吧?

您需要登录后才能评论 , 去登录

发表文章

Powered by 985文库网

Copyright © 985文库网 All Rights Reserved. 鄂ICP备2023024183号
×
保存成功