1. 打印大数组中的内容
在 gdb 中,如果要打印大数组的内容,缺省最多会显示 200 个元素。
可以使用:(gdb) set print elements number-of-elements
设置这个最大限制数
(gdb) set print elements unlimited
或者 (gdb) set print elements 0
设置为没有限制。
1 | // code |
2. 打印数组中任意连续元素值
使用 p array[index]@num
命令来打印数组中任意连续元素的值。index 是数组索引(从 0 开始),num 是连续多少个元素。
1 | (gdb) p array[10]@10 |
3. 打印数组的索引下标
使用 set print array-indexes on
命令设置打印索引下标
1 | (gdb) set print array-indexes on |
4. 打印函数局部变量的值
可以使用 bt full
命令(bt 是 backtrace 的缩写)。同时 bt full n
表示从内向外显示 n 个栈帧,bt full -n
表示从外向内显示 n 个栈帧。
也可以使用 info locals
打印当前函数局部变量的值。