【问题标题】:GDB pretty printers for Qt5Qt5 的 GDB 漂亮打印机
【发布时间】:2012-05-08 03:48:58
【问题描述】:

在哪里可以找到用于 qt5 的 gdb 漂亮打印机?

我只能在 kde 开发者网站上找到 qt4。也许有人知道是否存在用于新版 Qt 的漂亮打印机以及我在哪里可以找到它们。

我知道可以使用最新版本的 QtCreator,但我只需要用于 GDB 的普通 python 脚本。

【问题讨论】:

    标签: c++ python qt gdb qt5


    【解决方案1】:

    https://techbase.kde.org/Development/Tutorials/Debugging/Debugging_with_GDB 中列出的漂亮打印机仅与 Qt 5 部分兼容。某些类型(如 QByteArray)未正确处理。

    Alex Merry 开发了 Qt 5 漂亮的打印机,tried 将它们推送到 Qt5 Base 包中(不幸的是,它没有成功)。为方便起见,我已将他的打印机发送至https://github.com/Lekensteyn/qt5printers

    【讨论】:

    • 使用github.com/Lekensteyn/qt5printers需要什么版本的gdb?当我尝试在GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6) 上使用它时,我得到Traceback (most recent call last): File "<string>", line 3, in <module> File "/home/myusername/gdb/printers/qt5printers/__init__.py", line 42, in <module> import gdb.printing ImportError: No module named printing
    • @bgoodr 您至少需要 GDB 7.3 才能使用漂亮的打印模块(sourceware.org/git/…,另请参阅 NEWS 文件)
    • KDevelop 漂亮打印机现在在community.kde.org/Guidelines_and_HOWTOs/Debugging/… 上进行了描述,据说与 Qt5 兼容。
    【解决方案2】:

    作为参考,以下 (gdbinit + *.py) 支持 qt5 对象,并且似乎会定期更新:

    https://invent.kde.org/kdevelop/kdevelop/-/tree/master/plugins/gdb/printers

    https://github.com/KDE/kdevelop/tree/master/plugins/gdb/printers

    【讨论】:

    • 这些的好处是它们同时支持 Qt4 和 Qt5,这在您必须使用不同主要版本的 Qt 调试程序时非常有用。
    【解决方案3】:

    据我所知,漂亮的打印机都在这里:http://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python/

    此外,可以在此处找到启用了 Python 的 GDB 二进制文件。 http://origin.releases.qt-project.org/gdb/

    【讨论】:

    • 那些漂亮的打印机是用于 libstdc++ 的。问题是关于 Qt5 的漂亮打印机
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    相关资源
    最近更新 更多