我有一个在std::string*
字段中存储void* data
的类,并且希望VS2010的调试器将字符串显示为预览(是的,我需要它作为无效指针)。
当我尝试访问std :: string字段作为起点时,我已经失败了。以下似乎不起作用,Visual Studio只显示指针data
。
preview (
#if ( $c.data != 0 ) (
(((std::basic_string<char>*)$c.data))->_Myres
) #else (
""
)
)
有没有办法做到这一点,或者可以找到autoexp.dat解析的详细错误消息的任何地方?
答案 0 :(得分:0)
尝试替换
std::basic_string<char>
与
std::basic_string<char,std::char_traits<char>,std::allocator<char> >
它适用于我的情况。
如果您在源代码中将字符串变量写为
std::string foo;
然后,您将在Visual Studio的locals窗口中看到如下:
name | value | type
foo | "" | std::basic_string<char,std::char_traits<char>,std::allocator<char> >
我猜调试器需要这种特定类型用于强制转换表达式。