【问题标题】:Ubuntu 16.04, gcc 6: gdb 7.11 pretty printing in Eclipse does not workUbuntu 16.04,gcc 6:gdb 7.11 Eclipse 中的漂亮打印不起作用
【发布时间】:2017-02-03 16:05:10
【问题描述】:

为了通过漂亮的打印进行 eclipse 调试,我遵循了对这个问题的回答:
Ubuntu 14.04, gcc 4.8.4: gdb pretty printing doesn't work because of Python issue
但是我在 ~/.gdbinit 文件中插入了命令,但它没有用。通过使用 sh -x 运行 .gdbinit,我得到了 Syntax error: "(" unexpected 。 这似乎是与 python 命令相关的 bash 错误。我搜索和尝试的每个解决方案都没有解决问题(例如,使用单引号或不使用 ; 或在文件开头使用 #!/usr/bin/python 或 #!/usr/bin/env python)。有没有人知道如何处理这个问题?

【问题讨论】:

  • 为什么你决定用 sh -x 运行 .gdbinit ?不要这样做。
  • @ks1322 我只是以这种方式运行它,以查看命令是否有问题。我在终端中运行命令时得到的结果相同。
  • .gdbinit 不能由 shell 运行。它包含 gdb 命令。您可以将 .gdbinit 添加到您的问题中吗?你有安装 Python 吗?顺便说一句,对于 Ubuntu 16.04,相关路径是 /usr/share/gcc-5/python。
  • @dbrank0 该文件仅包含命令 python sys.path.append("/usr/share/gcc-6/python"); 作为链接推荐。我已经安装了最新的 gcc,并且安装了 python。

标签: eclipse debugging gdb ubuntu-16.04


【解决方案1】:

要在 ubuntu 16.04(默认 gcc、gdb)上启用漂亮打印,需要此脚本:

python
sys.path.insert(0, '/usr/share/gcc-5/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

你可能需要 gcc-6 在那里。

之后,您需要在 Eclipse 调试配置的调试器选项卡“gdb 命令文件”字段中输入上述脚本的完整路径并应用更改。

一旦通过此调试配置启动并在变量视图中检查容器。

作为参考,here 是 CDT 的常见问题解答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    相关资源
    最近更新 更多