如何调试超过210个元素的char数组

时间:2016-02-26 14:40:21

标签: c arrays visual-studio watch locals

我正在使用Visual Studio Express 2013 for Windows Desktop,我希望看到变量的值。

这看起来非常简单:要么打开"当地人"窗口并检查值,或将其添加到" Watch"窗口,可以读取值。

确实如此,但我的变量是一个char数组(typedef char T_BufCommandLine [32768];),包含超过210个字符,我只看到前210个。之后,有三个点("。 .."),只是提到数组尚未完成。

我知道我可以扩展这个变量的值,但结果不是很易读,复制一部分是完全不可能的。

所以我的问题:是否有人知道我如何可视化包含超过210个字符的char数组的值,作为一个没有" ..."?

的字符串

3 个答案:

答案 0 :(得分:2)

在调试器的断点处,将鼠标悬停在您的变量上,然后点击"旁观玻璃旁边的向下箭头"图标;选择"文本展示台"。

enter image description here

或者,使用“记忆”窗口:

enter image description here

答案 1 :(得分:0)

一个简单的技巧是将您想要的元素复制到一个单独的变量(或指定一个指向该元素的指针),并在分配断点后立即添加一个断点来窥探它的值。

答案 2 :(得分:0)

如果您想继续使用Watch窗口,您可以只显式指定起始地址。毕竟,它只是一个普通的旧阵列。调试器知道如何进行指针运算。要观察前210个元素之外的值,请执行以下操作:T_BufCommandLine+210,500

您也可以使用立即窗口,但您需要准确地告诉它数组的长度。像?T_BufCommandLine[0],32768这样的东西会给你一个大规模的转储。