【发布时间】:2016-09-28 04:54:47
【问题描述】:
我正在尝试查看 C++ STL 容器的内容。我读到here,最新版本的 gcc 和 gdb 默认支持漂亮的打印,但是当我尝试显示地图时,我得到了以下信息:
然后,我尝试根据this 的答案设置漂亮的打印,但它仍然显示相同的输出。有人可以帮我吗?谢谢。
我使用的是 Ubuntu 16.04、g++ 5.4.1、GDB 7.11.1 和 python 2.7.12(从他们的官方来源安装)。
【问题讨论】:
-
您是否遵循this 指南?假设您正在运行 Linux 而不是使用 eclipse,因此可以排除 Windows 设置和 eclipse 兼容性作为可能的原因,这一假设是否正确?
-
我使用的是 Ubuntu 16.04。是的,我已遵循本指南。我仍然得到如上所示的输出:(
-
您的问题并不清楚您是使用发行版附带的GDB,还是构建您自己的。如果是前者,它应该可以工作。如果是后者,你可能没有正确构建它。
-
你能告诉我们你添加的任何 python 初始化文件以及你的 gdb 安装目录的路径名吗?通常在 Ubuntu 上,让 gdb 加载 C++ 漂亮打印机所需要做的就是将
yourinstalldir/share/gdb/auto-load(在全新的 gdb 安装中不存在)符号链接到/usr/share/gdb/auto-load。auto-load目录树和漂亮的打印机由 Ubuntu 上的libstdc++6包提供。