在 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 问题进行代码设计的主要内容,如果未能解决你的问题,请参考以下文章