2016-02-26 52 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会给你一个巨大的转储。

相关问题