Another thing you can do is to try gdb from the command line... or DDD, kdbg or something similar.
{static npos = 18446744073709551615, static ms_cache =
{cached =
{
{str = 0x7fffa61ad130, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x7fffa61acf20, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x7fffa61ad160, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x126efaf8, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x126efb58, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x7fffa61ace40, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x7fffa61acdc0, pos = 0, impl = 0, len = 18446744073709551615},
{str = 0x7fffa61ad2b0, pos = 0, impl = 0, len = 18446744073709551615}
},
lastUsed = 7
},
m_impl = {static npos = 18446744073709551615,
_M_dataplus =
{<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields> },
_M_p = 0x126f6d28 "DEM 3-D 2010.0.0.0"
}
},
m_convertedToChar = {m_str = 0x0, m_len = 0},
m_convertedToWChar = {m_str = 0x0, m_len = 0},
m_iterators = {ptr = 0x0}
}
As you can see, 7 lines up, where line starts _M_p, the value is eventually displayed. But in the watch window in C::B, _M_p = 136 '\210' is displayed in C::B.
The problem is with the way C::B interprets(parses) the gdb output. Not something I am doing wrong. So I guess I have to post this as a bug, not ask what I can do to fix it.