在Visual Studio 2010中,我尝试在各种本机C ++ Debugger Visualizer组件中显示带有嵌入空值的字符串(char *和wchar_t *),例如数据提示区域(Watch窗口,预览)和访问的扩展区域用放大镜(stringview)。例如,我想显示包含其所有内容的BSTR(嵌入在ATL :: CComBSTR中),即使字符串中包含空字符。默认情况下,将指针设置为,s8
,,s
或,su
会将字符串视为以空值终止,这不是所需的行为。此问题特别适用于VS2010,而非2012年,2008年或之前的版本。
任何聪明的想法?
答案 0 :(得分:1)
任何聪明的想法?
假设您知道数据何时发生更改,并且您拥有自己的包装BSTR的结构,您可以添加第二个仅调试的字符串向量(或一个字符串,其中一些分隔符替换空值)到您保留的结构中与包含嵌入空值的字符串同步,然后可视化矢量。它并不漂亮,但它允许您调试代码。