略带反复的标题! Xcode答案的奖励积分,但这是一个gdb问题。
如果我有一个标准的,静态大小的数组gdb将打印其所有元素[和Xcode将让我浏览它]但如果我有zero length array,它不会,因为它不知道。显然我可以逐个打印数组索引,但我想要整个转储。
如何告诉gdb我为数组分配了多少空间以允许它打印数组(或允许Xcode查看数组)。它甚至可能吗?
答案 0 :(得分:7)
http://www.chemie.fu-berlin.de/chemnet/use/info/gdb/gdb_9.html#SEC54
讨论“人工阵列”
在内存中打印出几个相同类型的连续对象通常很有用; ...
答案 1 :(得分:2)
如果s->a
的类型为char [0]
(这是gcc扩展名),但您知道它实际上是100的数组,则可以使用gdb
中的强制转换来打印它:< / p>
(gdb) print *(char (*)[100])&s->a
答案 2 :(得分:2)
(gdb) p *argv@argc