2016-02-26 90 views
1

我正在使用Windows桌面的Visual Studio Express 2013,我希望看到一個變量的值。如何調試超過210個元素的字符數組

這看起來很簡單:打開「Locals」窗口並檢查值,或將其添加到「Watch」窗口中,並且可以讀取該值。

確實如此,但我的變量是一個字符數組(typedef char T_BufCommandLine [32768];),包含超過210個字符,而我只看到前210個。之後,有三個點(「...」),只是提及該陣列尚未完成。

我知道我可以擴大這個變量的值,但是結果不是非常可讀,而且複製其中的一部分是完全不可能的。

所以我的問題:是否有人知道我如何可視化包含超過210個字符的char數組的值作爲一個沒有「...」的字符串?

+0

標準的方法是'puts()'。 ;-)對不起,無法抗拒。不,不知道MSVC的方式,不介意我,我是一個巨魔,現在在我的石頭下爬回來。 – DevSolar

+0

嘗試將它保存到一個文件,並使用matlab來可視化它? – user3528438

回答

2

在調試器中的斷點上時,將鼠標懸停在變量上,然後單擊「查找玻璃」圖標旁邊的向下箭頭;選擇「文本展示臺」。

enter image description here

或者,使用存儲器窗口:

enter image description here

+0

我想用這個選項第一個'0x00'停止可視化器。 – LPs

+0

@LPs - 當然。如果你想要原始字節,使用Memory窗口。 –

+0

非常感謝,我從來沒有聽說過「Text Visualiser」。這確實解決了我的問題。 – Dominique

0

一個簡單的訣竅是想要的元素複製到一個單獨的變量(或指定的指針元件),並添加一個斷點後,它被分配到窺探它的價值。

0

如果您想繼續使用Watch窗口,則可以明確指定起始地址。畢竟,它只是一個普通的舊數組。調試器知道如何做指針運算。要觀察超過前210個元素的值,只需執行如下操作:T_BufCommandLine+210,500

您也可以使用立即窗口,但您需要確切地告訴它數組的長度。如:?T_BufCommandLine[0],32768會給你一個巨大的轉儲。

相關問題