仪器在macOS Mojave上使用Hardened Runtime崩溃应用程序

问题描述 投票:0回答:1

我发现Xcode 10 Instruments(Leaks)无法连接到启用Hardened Runtime签名的命令行应用程序,并出现以下错误:

错误:无法附加到目标进程

我向应用程序添加了com.apple.security.get-task-allow权利,并重新签名。然后,应用程序将崩溃,而不是无法附加,应用程序将崩溃。当应用程序崩溃时,以下内容记录到Console.app:

代码签名:进程93890 [appname]:拒绝地址0x1015f9000的无效页面,偏离文件“”中的偏移量0x0(cs_mtime:0.0 == mtime:0.0)(有符号:0有效:0受污染:0 nx:0 wpmapped:1脏: 0深度:0)

如何将仪器连接到此应用程序?我正在运行macOS Mojave。

xcode macos macos-mojave codesign xcode-instruments
1个回答
0
投票

我找到了两种解决方法:

  1. 不要在启用Hardened Runtime的情况下进行协同设置 - 这是调试版本的一个很好的解决方案,但不适用于您可能想要notarize的版本构建。此外,它错过了Hardened Runtime提供的安全保护。
  2. 添加另一个权利:com.apple.security.cs.disable-executable-page-protection。这有效,但我担心这是必需的。它也会影响安​​全性,但不如第一种解决方案。
© www.soinside.com 2019 - 2024. All rights reserved.