在 Visual Studio 监视窗口中显示包含特殊字符的数组范围。

Posted

技术标签:

【中文标题】在 Visual Studio 监视窗口中显示包含特殊字符的数组范围。【英文标题】:Show array range including special characters in visual studio watch window. 【发布时间】:2016-06-16 20:13:03 【问题描述】:

如果我有以下代码:

char u_buf[50] = "AB\0C\0D\r\c12345 ...
char *buf = u_buf;

有没有一种方法可以在 Visual Studio 的监视窗口中查看该缓冲区中某个范围内的数据?如果我看buf,我只会得到AB

我可以将它投射到视觉工作室以不同方式观看的其他东西吗? Cast to uint8_t* 显示相同,visual studio 似乎仍将其解释为字符串。

我希望能够查看的是前 40 个元素(它是二进制数据)。

【问题讨论】:

你试过buf,40 吗? (我手头没有 VS 可以试一试,不过应该可以) 【参考方案1】:

您可以在使用buf 在范围内进行调试时在“观察窗口”中键入“buf, 50”:

要打开“Watch Window”,请转到“Debug”>“Windows”>“Watch”>“Watch #”或按 Ctrl + Alt + W, # 其中“#”是您要打开的“监视窗口”的索引。

或者,您可以在“内存窗口”(此处为“0x0025FC74”)中输入buf 的地址,无论buf 是否在范围内,您都可以关注内容:

要打开“内存窗口”,请转到“调试”>“Windows”>“内存”>“内存#”或按 Ctrl + Alt + M, # 其中“#”是您要打开的“内存窗口”的索引。

【讨论】:

作为后续,你是怎么知道的,我可以从 watch 文档中找到的最好的是:msdn.microsoft.com/en-us/library/y2t7ahxk.aspx 这根本没有帮助...... @Ben 我怎么知道“内存窗口”的?我有一位出色的老板,我工作的最后一家公司:linkedin.com/in/benjamin-baker-03624570 我渴望有一天能像他一样了解。

以上是关于在 Visual Studio 监视窗口中显示包含特殊字符的数组范围。的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio 的监视窗口访问 javascript?

在 Visual Studio 的监视窗口中自动刷新 [重复]

是否可以使用 Visual Studio 调试器的 Watch 窗口查看内存位置的值?

Visual Studio 监视窗口查看对象的大小/内存占用

浅谈如何使用visual studio监视窗口

Visual Studio:数据集和数据表可视化工具在监视窗口中不起作用