Gnat编程工作室:与GPS 2018并行安装gdb版本8.0.1,以对gdb代码进行签名。经验?

时间:2018-06-23 10:22:06

标签: gdb ada gnat-gps

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

的帮助下

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

  • 基本问题是您必须使用证书对代码进行签名。
  • 我已经创建了证书
  • 我当前使用的gdb是7.10。消息人士称,该版本将有效,但为什么没有提及。由于错误,最新的gdb版本8.1 无法正常工作,因此建议使用版本8.0.1。

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

这是我的特定问题::在尝试自己之前,是否有人会与GPS软件包同时安装gdb 8.0.1? (请注意,我在将GPS与Linux系统上单独安装的gnat软件包混合使用时遇到了麻烦。

或者:为什么gdb 7.10版本不起作用?为了进行尝试,我尝试对这个版本进行签名,但收到错误消息:“已签名”。

2 个答案:

答案 0 :(得分:1)

这里不是确切的答案!但是..在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版中还没有看到这一点。

答案 1 :(得分:0)

抱歉,对您的回答没有及时回答。

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

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

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