如何在VC6中查看unicode CString的值?

发布于 2024-12-04 20:00:08 字数 354 浏览 0 评论 0原文

我正在使用 Visual Studio 6 调试 C++ 应用程序。该应用程序是针对 unicode 字符串支持而编译的。 CString 类型用于操作字符串。当我使用调试器时,监视窗口将显示字符串的第一个字符,但不会显示完整的字符串。我尝试使用 XDebug,但此工具无法处理正确的 unicode 字符串。作为解决方法,我可以通过索引到 CString 维护的私有数组来为字符串的每个字符创建一个自定义监视,但这非常乏味。

如何在 VC6 调试器中查看 CString 的完整 unicode 值?

I'm using Visual Studio 6 to debug a C++ application. The application is compiled for unicode string support. The CString type is used for manipulating strings. When I am using the debugger, the watch window will display the first character of the string, but will not display the full string. I tried using XDebug, but this tool does not handle unicode strings properly. As a work around, I can create a custom watch for each character of the string by indexing into the private array the CString maintains, but this is very tedious.

How can I view the full, unicode value of a CString in the VC6 debugger?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦明 2024-12-11 20:00:08

转到工具->选项->调试,然后选中“显示 unicode 字符串”复选框。这可能会解决问题。其他两个选项:

  1. 在监视窗口中,如果您有一个名为 szText 的 Unicode 字符串变量,请将其作为 szText,su 添加到监视中。这将告诉 VS 将其解释为 Unicode 字符串(请参阅监视变量的符号了解更多此类内容)。
  2. 最坏的情况是,您可以拥有一个全局 ANSI 字符串缓冲区和一个全局函数,该函数将获取 Unicode CString 并将其内容作为 ANSI 存储在该全局变量中。然后,当需要时,使用您希望在监视窗口中看到其内容的字符串调用该函数,并监视 ANSI 缓冲区。

但“显示 unicode 字符串”可能是问题所在......

Go to tools->options->Debug, and check the "Display unicode string" check-box. That would probably fix the problem. Two other options:

  1. In the watch window, if you have a Unicode string variable named szText, add it to the watch as szText,su. This will tell VS to interpret it as a Unicode string (See Symbols for Watch Variables for more of this sort).
  2. Worst comes to worst, you can have a global ANSI string buffer, and a global function that will get a Unicode CString and store its content as ANSI, in that global variable. Then, when need call that function with the string whose content you'd like to see in the watch window, and watch the ANSI buffer.

But the "Display unicode string" thing is probably the problem...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文