为啥 Xcode 不能附加到某些程序?
Posted
技术标签:
【中文标题】为啥 Xcode 不能附加到某些程序?【英文标题】:Why Xcode can not attach to some programs?为什么 Xcode 不能附加到某些程序? 【发布时间】:2021-12-23 03:31:15 【问题描述】:我不得不重新安装我的 MacBook Pro。我已经安装了最新的 macOS 和 Xcode 版本,所以
macOS 蒙特雷 12.0.1 (21A559) 和 版本 13.1 (13A1030d)
我正在编写音频插件,以便测试我的插件。在我的情况下,我通常运行 DAW(数字音频工作站),我大部分时间都在使用 Ableton 或 Bitwig。
所以如果我开始调试过程,我会收到以下错误: 无法附加到 pid XXXXXX 附加失败(不允许附加到进程。当附加失败时,查看调试服务器条目附近的控制台消息(Console.app)。拒绝附加权限的子系统可能会记录一条信息性消息,说明为什么它被拒绝.)
如果我留意到 console.app,请查看以下几行:
[LaunchAttach] (3277) 即将到 task_for_pid(2930)
错误:[LaunchAttach] MachTask::TaskPortForProcessID task_for_pid(2930) 失败: ::task_for_pid (target_tport = 0x0203, pid = 2930, &task ) => err = 0x00000005 ((os/kern) 失败)
macOSTaskPolicy: (com.apple.debugserver) 可能无法获得任务控制 (BitwigStudio) 端口 (pid: 2930): (BitwigStudio) 已加固, (BitwigStudio) 没有 get-task-allow,(com.apple.debugserver) 是 声明的调试器(com.apple.debugserver)不是声明的只读 调试器
1 +0.000000 秒 [0ccd/0103]: 错误: ::task_for_pid (target_tport = 0x0203, pid = 2930, &task) => err = 0x00000005 ((os/kern) 失败) 错误 = ::task_for_pid (target_tport = 0x0203, pid = 2930, &task) => err = 0x00000005 ((os/kern) 失败) (0x00000005)
我做了一些研究,发现: *** link about What does get-task-allow do
get-task-allow,当登录到应用程序时,允许其他 附加到您的应用程序的进程(如调试器)。分配 配置文件要求关闭此值,而开发 配置文件需要打开这个值(否则 Xcode 会 永远无法启动并附加到您的应用程序)。
因此,我无法使用该软件调试我的程序。那是对的吗? :(
【问题讨论】:
【参考方案1】:您可以调试,但必须将“代码签名注入基本权利”设置为“是”才能进行调试
然后您必须添加配置文件。转到developer.apple.com,然后选择“证书、ID 和配置文件”为您正在测试的捆绑 ID 创建一个配置文件。
【讨论】:
以上是关于为啥 Xcode 不能附加到某些程序?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode lldb 无法附加到 MacOS 系统程序 /bin/cp -“不允许附加到进程。”