在 MacOS Catalina 上对 GDB 问题进行代码设计

Posted

技术标签:

【中文标题】在 MacOS Catalina 上对 GDB 问题进行代码设计【英文标题】:Codesigning GDB issues on MacOS Catalina 【发布时间】:2020-06-24 20:33:18 【问题描述】:

我一直在尝试在我的 Macbook Pro 13" 2020 上设置 gdb,运行 MacOS Catalina v 10.15.5

我已经学习了多个关于代码设计 GDB 的教程,但运气不佳。这是我遵循的教程之一的链接,尽管我尝试过其他通过终端关闭 taskgated 的教程。 https://www.ics.uci.edu/~pattis/common/handouts/macmingweclipse/allexperimental/mac-gdb-install.html

我不确定我做错了什么。这是我正在运行的代码签名命令:

codesign -fs gdb /usr/local/bin/gdb  

其中 gdb 是证书的名称,which gdb 返回 /usr/local/bin/gdb

每次我尝试运行 GDB 时,都会报错:

Unable to find Mach task port for process-id 1398: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

最后,我尝试将 set startup-with-shell off 添加到 ~/.gdbinit,得到类似的结果。

【问题讨论】:

【参考方案1】:

我有一台配备 Catalina 的 MacBook Pro 2015

我只是按照指南安装和代码签名 GDB,一切顺利。 第一次尝试我得到了相同的输出,而不是我运行 gdb 作为 sudo 并且它有效。我的下一个问题是未处理的 dyld 版本 16,似乎是 GDB 上游的错误

【讨论】:

问题不在于上游 GDB。 Apple 进行了一项静默更改,要求 lldb 由 root 用户签名。可以通过目录实用程序启用 root 用户。

以上是关于在 MacOS Catalina 上对 GDB 问题进行代码设计的主要内容,如果未能解决你的问题,请参考以下文章

markdown 在macOS Sierra上对Valet进行故障排除

virtualbox安macOS Catalina

MacOS 10.15 Catalina 的颤振问题

升级macos catalina卡顿怎么办

GDB for MacOs不再特别或不再支持?

如何使用 MacPorts 在 MacOS Lion 上设置/使用 GDB 7