您好,欢迎访问985文库网
当前位置:首页 > 文章列表 > 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号
暂时没有评论,评论一个吧?