Gnat Programming Studio:与 GPS 2018 并行安装 gdb 版本 8.0.1 以签署 gdb 代码。经验?
Gnat Programming Studio: Install gdb version 8.0.1 in parallel with GPS 2018 to sign gdb code. Experiences?
我在 MacOS High Sierra 上使用 gdb(调试器)时遇到问题。在
的帮助下
- How to get a "codesigned" gdb on OSX?
和其他几个人(谢谢!!)我已经收集了解决问题所需的信息:
- 基本问题是您必须使用证书对代码进行签名。
- 我已经创建了证书
- 我目前使用的 gdb 是 7.10。根据消息来源,此版本将 不 工作,但未提及原因。由于 bug,最新的 gdb 8.1 版无法工作,因此推荐使用 8.0.1 版。
我正在使用 Gnat 编程系统(从 AdaCore 下载的 GNAT 社区版 2018)。该软件包中包含的 gdb 版本是 7.10。
这是我的具体问题: 在我自己尝试之前,有人有安装 gdb 8.0.1 和 GPS 软件包的经验吗? (请注意,我在 Linux 系统上将 GPS 与单独安装的 gnat 软件包混合使用时遇到了一些麻烦。
或者:为什么 gdb 7.10 版本不起作用?为了试一试,我尝试签署此版本,但收到错误消息:"Already signed".
这里没有明确的答案!但是 .. 运行 在 sudo
下的 10.13.5 上,为了避免代码签名问题(虽然承认 运行 有一点风险),
- CE2018版启动程序却挂了,
- 使用 GCC 8.1.0 构建的 GDB 8.1 崩溃(我发现了一个 patch,但在应用它之后 GDB 失败了,虽然不那么引人注目),
- 使用 GCC 8.1.0 重建的 GNAT GPL 2017 版挂起,
- GNAT GPL 2017 版下载正常。
可能可以用 GPL2017 版本替换 CE2018 gdb,当然是代码签名的,尽管有大量支持代码(例如 $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 版本中没有看到这个。
很抱歉延迟对您的回答做出反应。
最终,我能够签署 gdb。安装 CE2018 版本后,尝试对该包的 gdb 进行签名,给出了与 2017 版本不同且更好的错误消息。这里有一些细节:
- 切换用户 (su) 成为管理员
- 使用 sudo code sign -f -s
- 重启电脑!
- 启动调试器后(在 GPS 中),我必须使用管理员密码授权 "developer tool access"。
运行 调试器,我也收到了与您描述的相同的错误消息。无需向 .gdbinit 文件添加任何内容(如其他一些指南中所述)
我在 MacOS High Sierra 上使用 gdb(调试器)时遇到问题。在
的帮助下- How to get a "codesigned" gdb on OSX?
和其他几个人(谢谢!!)我已经收集了解决问题所需的信息:
- 基本问题是您必须使用证书对代码进行签名。
- 我已经创建了证书
- 我目前使用的 gdb 是 7.10。根据消息来源,此版本将 不 工作,但未提及原因。由于 bug,最新的 gdb 8.1 版无法工作,因此推荐使用 8.0.1 版。
我正在使用 Gnat 编程系统(从 AdaCore 下载的 GNAT 社区版 2018)。该软件包中包含的 gdb 版本是 7.10。
这是我的具体问题: 在我自己尝试之前,有人有安装 gdb 8.0.1 和 GPS 软件包的经验吗? (请注意,我在 Linux 系统上将 GPS 与单独安装的 gnat 软件包混合使用时遇到了一些麻烦。
或者:为什么 gdb 7.10 版本不起作用?为了试一试,我尝试签署此版本,但收到错误消息:"Already signed".
这里没有明确的答案!但是 .. 运行 在 sudo
下的 10.13.5 上,为了避免代码签名问题(虽然承认 运行 有一点风险),
- CE2018版启动程序却挂了,
- 使用 GCC 8.1.0 构建的 GDB 8.1 崩溃(我发现了一个 patch,但在应用它之后 GDB 失败了,虽然不那么引人注目),
- 使用 GCC 8.1.0 重建的 GNAT GPL 2017 版挂起,
- GNAT GPL 2017 版下载正常。
可能可以用 GPL2017 版本替换 CE2018 gdb,当然是代码签名的,尽管有大量支持代码(例如 $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 版本中没有看到这个。
很抱歉延迟对您的回答做出反应。
最终,我能够签署 gdb。安装 CE2018 版本后,尝试对该包的 gdb 进行签名,给出了与 2017 版本不同且更好的错误消息。这里有一些细节:
- 切换用户 (su) 成为管理员
- 使用 sudo code sign -f -s
- 重启电脑!
- 启动调试器后(在 GPS 中),我必须使用管理员密码授权 "developer tool access"。
运行 调试器,我也收到了与您描述的相同的错误消息。无需向 .gdbinit 文件添加任何内容(如其他一些指南中所述)