Данный механизм в частности позволяет получить содержимое STL классов в удобочитаемой форме.
Для примера возьмем такой код:
std::string fred(“abc”); |
Если вы попытаетесь распечатаь содержимое переменной fred в GDB, вы увидите кучу недружелюбной и не всегда нужной информации.
(gdb) print fred $1 = { static npos = <optimized out="">, _M_dataplus = { <std::allocator<char>> = { <__gnu_cxx::new_allocator</char><char>> = {<no data="" fields="">}, </no><no data="" fields="">}, members of std::basic_string<char, std::char_traits<char="">, std::allocator<char> >::_Alloc_hider: _M_p = 0×601048 “abc” } } </char></char,></no></char></std::allocator<char></char></optimized> |
Но есть способ это поправить.
Read more »