在KDevelop C ++中启用Pretty Printing

时间:2014-04-19 22:17:36

标签: c++ gdb pretty-print kdevelop

我已经搜索了很多关于如何在KDevelop中启用漂亮打印而没有希望。

我找到了this链接并实现了那里提到的内容。然后在“启动器配置”中我添加了我的gdbinit文件作为“config gdb脚本”。但它没有效果。

它在旧版本的KDevelop中运行良好,无需手动配置,但将我的Ubuntu升级到14.04并将KDevelop升级到v4.6.0似乎是一个错过。

如何在KDevelop中启用漂亮的打印?

1 个答案:

答案 0 :(得分:2)

是的,我在Ubuntu 13.10和KDevelop 4.5.1上也存在同样的问题。下面,我已经包括问题和解决方案。

<强>问题:

Ubuntu 13.10使用GDB 7.61,它读取Python3漂亮的打印机脚本,但Ubuntu 13.10附带Python2漂亮的打印机脚本。糟糕!

<强>解决方案:

  • 首先,确保您的主文件夹中有所需的“.gdbinit”文件 - 您的超链接引用的文件。这将告知GDB在哪里寻找  需要Python3漂亮的打印机脚本。不言而喻,您可能必须更新“.gdbinit”中的路径。我的,看起来像这样:


     import sys

    sys.path.insert(0,&#39; / usr / share / kde4 / apps / kdevgdb / printers&#39;)

    来自qt4 import register_qt4_printers
     register_qt4_printers(无)

    来自kde4 import register_kde4_printers
     register_kde4_printers(无)

    来自libstdcxx import register_libstdcxx_printers
     register_libstdcxx_printers(无)

  • 现在,您需要使用“2to3”shell命令将Python2脚本转换为Python3脚本。例如:

    2to3 -w /usr/share/kde4/apps/kdevgdb/printers/qt4.py

    2to3 -w /usr/share/kde4/apps/kdevgdb/printers/libstdcxx.py

    我不需要转换kde4.py脚本:它已经是Python3脚本。

    注意:为了安全起见,请在进行转换之前备份脚本文件 - 您永远不会知道。

这就是它的全部内容,启动KDevelop并远离你......

实际上,您可以使用gdb shell命令启动GDB并确保所有Python脚本都是版本3:如果您没有收到任何读取错误,那么您知道您已经可以了。如果它生成读取错误,只需转换这些脚本。

仅供参考:要退出GDB,只需输入“quit”并按“Enter”键:(gdb)退出

<强>附录:

如果您的系统不包含libstdcxx.py文件,则需要执行以下操作: