-1

我在 MacOS High Sierra 上使用 gdb(调试器)时遇到问题。在...的帮助下

和其他几个人(谢谢!!)我已经收集了解决问题所需的信息:

  • 基本问题是您必须使用证书对代码进行签名。
  • 我已经创建了一个证书
  • 我目前使用的 gdb 是 7.10。根据消息来源,此版本将无法使用,但未提及原因。最新的 gdb 版本 8.1因为一个 bug不能工作,所以推荐 8.0.1 版本。

我正在使用 Gnat 编程系统(从 AdaCore 下载的 GNAT 社区版 2018)。该软件包中包含的 gdb 版本是 7.10。

这是我的具体问题:在我自己尝试之前,有没有人有安装 gdb 8.0.1 和 GPS 包的经验?(请注意,我已经在我的 Linux 系统上将 GPS 与单独安装的 gnat 软件包混合使用时遇到了一些麻烦)。

或者:为什么 gdb 7.10 版本不起作用?为了试一试,我尝试签署此版本,但收到错误消息:“已签署”。

4

2 回答 2

1

这里没有明确的答案!但是 .. 在 10.13.5 下运行sudo,以避免代码签名问题(虽然承认存在轻微风险),

  • CE2018版启动程序却挂了,
  • 使用 GCC 8.1.0 构建的 GDB 8.1 崩溃(我找到了一个补丁,但在应用它之后 GDB 失败了,虽然没那么引人注目),
  • 使用 GCC 8.1.0 重建的 GNAT GPL 2017 版挂起,
  • 下载的 GNAT GPL 2017 版可以正常工作。

可以CE2018 gdb 替换为 GPL2017 版本,当然是代码签名的,尽管有大量支持代码(例如$prefix/share/gdb)可能不太匹配。值得一试。

替换的替代方法可能是删除(或重命名)CE2018$prefix/bin/gdb并安排在 CE2018 套件PATH之后启用 GPL2017 套件。


PS:我对 CE2018 gdb 进行了代码签名,它工作正常!让我感到困惑。

有几行报告

warning: `/BuildRoot/Library/Caches/com.apple.xbs/Binaries/Libc_darwin/install/TempContent/Objects/Libc.build/libsystem_darwin.dylib.build/Objects-normal/x86_64/darwin_vers.o': can't open to read symbols: No such file or directory.

这很烦人,但似乎无害。我在 GPL2017 版本中没有看到这一点。

于 2018-06-23T16:09:46.213 回答
0

很抱歉延迟回复您的回答。

最终,我能够签署 gdb。安装 CE2018 版本后,尝试对该包的 gdb 进行签名,给出了与 2017 版本不同且更好的错误消息。这里有一些细节:

  • 切换用户(su)成为管理员
  • 使用 sudo 代码符号 -f -s
  • 重启电脑!
  • 启动调试器(在 GPS 中)后,我必须使用管理员密码授权“开发人员工具访问”。

运行调试器,我也会收到您描述的相同错误消息。无需向 .gdbinit 文件添加任何内容(如其他一些指南中所述)

于 2018-07-15T15:58:05.333 回答