簡體   English   中英

我怎么告訴gdb我的零長度數組有多長?

[英]How do I tell gdb how long my zero-length array is?

略有矛盾的標題! Xcode答案的獎勵積分,但這是一個gdb問題。

如果我有一個標准的,靜態大小的數組gdb將打印其所有元素[和Xcode將讓我瀏覽它]但如果我有一個零長度數組 ,它不會,因為它不知道。 顯然我可以逐個打印數組索引,但我想要整個轉儲。

我如何告訴gdb我為數組分配了多少空間以允許它打印數組(或允許Xcode查看數組)。 它甚至可能嗎?

http://www.chemie.fu-berlin.de/chemnet/use/info/gdb/gdb_9.html#SEC54

討論“人造陣列”

在內存中打印出幾個相同類型的連續對象通常很有用; ...

如果s->a類型為char [0] (這是gcc擴展名),但是你知道它實際上是一個100的數組,你可以在gdb使用強制轉換來打印它:

(gdb) print *(char (*)[100])&s->a

參見10.4 Artificial Arrays

(gdb) p *argv@argc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM