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

How to debug array of char with more than 210 elements

我正在使用 Visual Studio Express 2013 for Windows Desktop,我想查看变量的值。

这看起来很简单:要么打开"Locals"window查看值,要么将其添加到"Watch"window,就可以读取值了.

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

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

所以我的问题是:有人知道我如何将包含超过 210 个字符的 char 数组的值可视化为一个没有“...”的字符串吗?

在调试器的断点上,将鼠标悬停在您的变量上,然后单击 "looking glass" 图标旁边的向下箭头; select "Text Visualizer".

或者,使用内存 window:

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

如果您想继续使用手表window,您可以明确指定起始地址。毕竟,它只是一个普通的旧数组。调试器知道如何进行指针运算。要查看前 210 个元素以外的值,只需执行以下操作:T_BufCommandLine+210,500.

您也可以使用立即数 Window,但您需要准确地告诉它数组的长度。类似于:?T_BufCommandLine[0],32768 会给你一个巨大的转储。