我以为 gdb 7.0 及更高版本包含漂亮的打印功能,但我可能错了?有人能告诉我正确的使用方法吗?我需要为此创建一个 .gdbinit 文件吗?我尝试从 stackoverload 复制一个,但它给出了错误,然后我读到漂亮的打印应该包含在 7.0 及更高版本中。有人可以教我这个吗?当我打印一个向量时,我得到了以下结果,有没有办法获得更好的布局?向量有数据,但它在下面的输出中没有显示任何数据字段。
(gdb) p data
$4 = (std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > &) @0x7fffffffdfe0: {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {
_M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data fields>},
_M_start = 0x6082d0, _M_finish = 0x6082d8,
_M_end_of_storage = 0x6082d8}}, <No data fields>}
答案1
事实证明,以下电子邮件有效。我需要做但并不明显的事情是,我需要将安装打印机的目录添加到我的路径中。
http://lists.kde.org/?l=kdevelop&m=125326438617051&w=2
(gdb) p data1
$1 = std::vector of length 8, capacity 8 = {"This is line",
"second item", "text 2 ",
"over 3", "lines", "", "", "last line."}