请教一个关于gdb调试的问题

william0218
请教一个关于gdb调试的问题

请问下,用gdb对c程序进行调试的时候,怎么样能够把一个数组的所有元素都输出出来呢?用什么命令?谢谢!

MMMIX
[quote]原帖由 [i]william0218[/i] 于 2008-5-29 20:30 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6600192&ptid=1007438][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
请问下,用gdb对c程序进行调试的时候,怎么样能够把一个数组的所有元素都输出出来呢?用什么命令?谢谢! [/quote]
print 撒

itlanger
假设数组为int array[10]
可用  print array[0]@10 或 print *array@10 查看整个数组的内容。

william0218
请问如果是一个由malloc分配出来的多维数组,想查看所有元素的话,用print命令应该怎么写呢?

incle
[quote]原帖由 [i]william0218[/i] 于 2008-5-30 13:37 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6601101&ptid=1007438][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
请问如果是一个由malloc分配出来的多维数组,想查看所有元素的话,用print命令应该怎么写呢? [/quote]
应该还是跟三楼说的办法是一样的吧?我也不是很清楚,想看看更好的解答.

itlanger
print *array@10就可以查看通过malloc分配的数组内容。

william0218
我按你说过的试过了,如果malloc分配一个三维的数组[7][3][51],那么不管是用print *a@945还是print a[0]@945,都不能输出数值。不知道有没有别的方法

swordfish.cn
[quote]原帖由 [i]william0218[/i] 于 2008-6-1 16:29 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6602789&ptid=1007438][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
我按你说过的试过了,如果malloc分配一个三维的数组[7][3][51],那么不管是用print *a@945还是print a[0]@945,都不能输出数值。不知道有没有别的方法 [/quote]


多维数组好像没有什么好办法了,只有一层一层地 print 了。