无法通过 ssh 在 Apple M1 上使用 lldb 进行调试

Phi*_*p S 5 ssh lldb macos-monterey

当我用我的程序运行 lldb 然后在 lldb 中“运行”时,我得到

错误:进程退出,状态为 -1(这是非交互式调试会话,无法获得调试进程的权限。)

我已经完成了这两件事:

  • sudo DevToolsSecurity --启用
  • spctl 开发者模式启用终端

这让我可以在 Mac 前进行调试,但通过 ssh 登录并远程使用它会更加方便。在我运行上述命令之前,当我尝试运行它们时,我的程序和 lldb 都会被杀死。

编辑补充:一个问题是苹果芯片上的所有程序都必须进行协同签名。我没有使用 Xcode 进行构建,所以我还没有自动签署代码。

我暂时关闭了系统完整性保护,直到我可以更新我们的构建过程,这允许我运行我正在构建的未签名的二进制文件,但我仍然不知道如何远程调试。如果我坐在电脑前,它不会弹出调试权限的请求。当我远程使用 ssh 时,它会从上面给出“非交互式调试会话”消息。