Я использовал макро-решение, как оно обрисовано в общих чертах здесь. Однако существует упоминание о том, как просмотреть их без макросов. Я обращаюсь к версии 7 GDB и выше.
Кто-то проиллюстрировал бы как?
Спасибо
Получите программы просмотра Python из SVN
svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
Добавьте следующее в свой ~ / .gdbinit
python
import sys
sys.path.insert(0, '/path/to/pretty-printers/dir')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Тогда печать должна работать:
std::map<int, std::string> the_map;
the_map[23] = "hello";
the_map[1024] = "world";
В gdb:
(gdb) print the_map
$1 = std::map with 2 elements = { [23] = "hello", [1024] = "world" }
Чтобы вернуться к старому представлению, используйте print / r
( / r
для raw).
См. Также: http://sourceware.org/gdb/wiki/STLSupport