在Visual Studio 2008中显示CR/LF的Visual C++调试窗口

Der*_*rek 5 c++ debugging newline visual-studio-2008

一段时间以来,当我调试Visual C++应用程序并在Local,Auto或Watch调试窗口中查看任何CString或char*(或任何其他基于ascii char的类型)变量时,我的变量中的CR/LF字符不会显示一点都不

换句话说,如果我的代码中有一个字符串变量设置为"这是一行\ r \n这是另一行",调试窗口将显示"这是一行,这是另一行".我希望它显示的是"这是一条线□这是另一条线",这样我就可以在该文本中看到两个额外的字符.

这导致我在尝试调试字符串解析代码时犯了一些错误.请注意,文本可视化工具正确地将文本分成单独的行,但如果我不需要,我不想使用文本可视化工具.此外,我的一些同事能够以正确的方式看到CR/LF字符,但我们无法确定为什么不为我显示它们.

提前谢谢了.

Ste*_*e M 3

根据这个旧链接,这似乎是某种难以重现的错误(我在 2k8 中也没有看到它们):

如果我们想正确地做到这一点,我们需要为这些字符发出正确的转义序列。例如在字符串中显示“\r\n”。剥离特殊字符的行为是历史性的,将在未来的版本中修复。如果您正在查看其中包含换行符的文本,则可以将字符串视为字符数组:键入“str,100”将长度为 100 的字符串视为数组。或者,您可以单击放大镜字形并在多行编辑控件中查看字符串。

一个月以后:

我们无法在 VS2003 和 VS2005 上重现此问题。这看起来像是机器特定的问题。

因此,如果您的同事真的看到了它,那么我们的设置中一定发生了一些奇怪的事情。