0

我有一个std::string*在字段中存储 a 的类void* data,并且希望 VS2010 的调试器将字符串显示为预览(是的,我需要它是一个 void 指针)。

当我尝试访问 std::string 字段作为起点时,我已经失败了。以下似乎不起作用,Visual Studio 只显示指针data

preview (
    #if ( $c.data != 0 ) (
        (((std::basic_string<char>*)$c.data))->_Myres
    ) #else (
        ""
    )
)

有什么方法可以做到这一点,或者在任何地方可以找到 autoexp.dat 解析的详细错误消息?

4

1 回答 1

0

尝试更换

std::basic_string<char>

std::basic_string<char,std::char_traits<char>,std::allocator<char> >

它适用于我的情况。

如果您在源代码中将字符串变量编写为

std::string foo;

然后,您将在 Visual Studio 的本地窗口中看到如下所示:

name | value | type
foo  | ""    | std::basic_string<char,std::char_traits<char>,std::allocator<char> >

我猜调试器需要这种特定类型的强制转换表达式。

于 2014-09-29T14:58:18.880 回答