如何在GDB中查看像数组一样的指针?

假设已定义: int a[100]类型print a然后gdb将自动将其显示为数组: 1, 2, 3, 4... 但是,如果将a作为参数传递给函数,那么gdb会将其视为普通的int指针,类型print a将显示: (int *)0x7fffffffdaa0 。 如果我想查看数组,我该怎么办?

看到这里。 总之,你应该这样做:

 p *array@len 

*(T (*)[N])p其中T是类型,N是元素的数量,p是指针。

使用x命令。

 (gdb) x/100w a