首页 > 解决方案 > gdb 使用 stl-view 查看 stl 内容

问题描述

放置 stl-views.gdb 以便 gdb 获取此文件后,我可以打印其类型为基本的地图内容:

map<int,int> m1;   //Or map<string,int> or some such basic type
m1. push_back(1,2)
m1. push_back(2,4);

在 GDB 中:

pmap m1 int int     //This works fine

但请考虑以下示例:例如

map<string,vector<string>> m1;   
m1["Node1"].push_back("N1S1");
m1["Node1"].push_back("N1S2");
m1["Node1"].push_back("N1S3");

m1["Node2"].push_back("N2S1");
m1["Node2"].push_back("N2S2");
m1["Node2"].push_back("N2S3");

在 GDB 中:

pmap m1 string vector<string>   //It says elem[0].right: No symbol "vector<string>" in current context

如何打印键“Node1”的值。我期望它将字符串向量打印为 N1S1 N1S2 和 N1S3

标签: c++stlgdbstdmap

解决方案


推荐阅读