在 macOS 中运行 LLDB 需要 root 权限才能“控制另一个应用程序”。
这激怒了我公司的 IT 支持人员,他们不希望任何人在他们的计算机上拥有 root 访问权限。 有没有一种方法可以在不使用 sudo 的情况下构建和调试进程?
允许调试您的应用程序是 Darwin 上的选择加入,通过向您的应用程序添加
com.apple.security.get-task-allow
权利来表示。 如果您在 Xcode 中构建应用程序,默认情况下 Xcode 会将此权利添加到您的调试配置产品(但不会添加到发布配置)。 如果您使用其他构建系统,则必须手动添加该权利。
如果您以 root 身份进行调试,则可以覆盖选择退出选项并调试一些未选择进行调试的应用程序(尽管不是请求敏感权利的应用程序)。 但如果您只是调试本地构建的应用程序,则应该使用权利。
这里对此进行了更多讨论:
尽管那时的权利只是
get-task-allow
。