如何调试超过 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
会给你一个巨大的转储。
我正在使用 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
会给你一个巨大的转储。