2

在 Visual Studio 2010 中,我试图在各种原生 C++ 调试器可视化工具组件中显示带有嵌入空值的字符串(char* 和 wchar_t*),例如数据提示区域(观察窗口、预览)和放大镜访问的扩展区域玻璃(字符串视图)。例如,我想显示一个 BSTR(嵌入在 ATL::CComBSTR 中)及其所有内容,即使字符串中有空字符。默认情况下,将指针设置为,s8,s,su会将字符串视为以空值结尾的字符串,这不是所需的行为。这个问题特别适用于 VS2010,而不是 2012、2008 或以前的版本。

有什么聪明的主意吗?

4

1 回答 1

1

有什么聪明的主意吗?

假设您知道数据何时更改,并且您有自己的结构包装 BSTR,您可以将第二个仅用于调试的字符串向量(或带有一些分隔符替换空值的单个字符串)添加到与您保持同步的结构中包含嵌入空值的字符串,然后将向量可视化。它并不漂亮,但它允许您调试代码。

于 2013-10-16T14:15:02.057 回答