我试图根据这个 anwer设置 GDB 漂亮的打印(为了更容易地使用标准容器)。我没有使用 svn 中的 python 漂亮打印机代码,而是使用了ubuntu 附带的代码。在完成其余的过程后,我在启动 gdb 时得到了以下错误消息:
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.
Run Code Online (Sandbox Code Playgroud)
在深入研究问题后,我发现根本原因更深层次 - gdb 中使用的 Python 3 与 libstdc++ 漂亮的打印机不兼容。
有没有人有一个功能性的解决方法?现在我坚持使用 Dan Marinescu 的(也有用,但功能不强)助手:http : //www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF