C++ 检查嵌套的标准库数据
我在它下面使用了DDD3.3.11和GDB6.5-8.fc6rh。我的编译器是g++4.1.1 我有一个stl映射容器,其中包含一个int(vector)向量作为其关键查找。 键上的数据为C++ 检查嵌套的标准库数据,c++,stl,gdb,g++,C++,Stl,Gdb,G++,我在它下面使用了DDD3.3.11和GDB6.5-8.fc6rh。我的编译器是g++4.1.1 我有一个stl映射容器,其中包含一个int(vector)向量作为其关键查找。 键上的数据为MyType* 我使用的是Dan Marinescu编写的.gdbinit文件。它非常有用,直到你嵌套C++标准库容器。 我的问题是,使用.gdbinit文件中的检查技术, 有没有办法检查嵌套的stdlib数据 我遇到的主要问题似乎是当.gdbinit文件试图进行类型转换时 如果我的地图是 map<ve
MyType*
我使用的是Dan Marinescu编写的.gdbinit文件。它非常有用,直到你嵌套C++标准库容器。
我的问题是,使用.gdbinit文件中的检查技术,
有没有办法检查嵌套的stdlib数据
我遇到的主要问题似乎是当.gdbinit文件试图进行类型转换时
如果我的地图是
map<vector<int>, MyType*>
map
然后,在gdb中,我尝试一个pmap调用,比如
pmap myMap vector<int> MyType*
pmap myMap向量MyType*
这与
elem[0].left: No symbol "vector<int>" in current context.
elem[0]。左侧:当前上下文中没有符号“vector”。
在gdb中,我必须使用什么语法将某些数据类型转换为模板类型?使用较新的gdb,我必须添加单引号、名称空间和分配器
(gdb) pmap myMap 'std::vector<int,std::allocator<int>>' MyType*
elem[0].left: $3 = std::vector of length 1, capacity 1 = {2}
elem[0].right: $4 = (MyType *) 0x7fffffffe060
Map size = 1
(gdb)pmap myMap'std::vector'MyType*
元素[0]。左:$3=std::长度为1的向量,容量为1={2}
元素[0]。右:$4=(MyType*)0x7fffffffe060
地图大小=1