gdb中如何打印出std::map
时间: 2023-07-20 12:45:24
浏览: 1062
gdb 标准库查看脚本.pdf
在gdb中,要打印出std::map的内容,可以使用以下命令:
1.首先在gdb中设置打印选项,使得gdb能够正确解析C++ [stl容器](https://wenku.csdn.net/doc/3im8pfrxte?spm=1055.2569.3001.10083):
(gdb) set [print](https://wenku.csdn.net/doc/6401acb5cce7214c316ecd5e?spm=1055.2569.3001.10083) pretty on
2.然后使用print命令打印std::map对象,例如:
(gdb) print my_map
这将打印出my_map对象的内容。如果my_map对象是一个std::map<std::[string](https://wenku.csdn.net/doc/645cade695996c03ac3eb2ce?spm=1055.2569.3001.10083), int>类型的对象,那么输出结果将类似于:
$1 = std::map with 3 [element](https://wenku.csdn.net/doc/z7c28mgs2i?spm=1055.2569.3001.10083)s = {
["key1"] = 1,
["key2"] = 2,
["key3"] = 3
其中,输出结果中包含了std::map的大小(3个元素)以及每个元素的键值对。
如果要打印std::map对象中某个特定键的值,可以使用以下命令:
(gdb) print my_map["key1"]
这将打印出my_map对象中键为"key1"的值。
阅读全文