Tôi đã định cấu hình máy in đẹp bằng cách sử dụng http://wiki.eclipse.org/CDT/User/FAQ#How_can_I_inspect_the_contents_of_STL_containers.3F. Nó hoạt động thành công cho vector và các container khác. Tuy nhiên tôi không thể nhận được để kiểm tra bản đồ như trong ví dụ dưới đây:Máy in đẹp cho các bản đồ ném lỗi loại
#include <map>
#include <iostream>
using namespace std;
int main()
{
map <int, string> mapIntToString;
map <int, int> mapInt2;
mapIntToString.insert (map <int, string>::value_type (3, "Three"));
mapInt2.insert (map <int, int>::value_type (3, 4));
return 0;
}
tôi nhận được lỗi sau khi in sử dụng gdb:
(gdb) p mapInt2
$1 = std::map with 1 elementsTraceback (most recent call last):
File "/home/myuser/opt/gdb_printers/python/libstdcxx/v6/printers.py", line 422, in children
rep_type = find_type(self.val.type, '_Rep_type')
File "/home/myuser/opt/gdb_printers/python/libstdcxx/v6/printers.py", line 45, in find_type
raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
ValueError: Cannot find type std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::_Rep_type
tôi đi xa như tìm ra rằng '_Rep_type' là [ít nhất là trên một số hệ thống] một typedef riêng trong std :: map. giả định của perhap không phải lúc nào cũng đúng. Tôi đề nghị bạn thông báo cho các nhà phát triển các máy in đẹp. –