我发现Xcode 10 Instruments(泄漏)将无法附加到已启用Hardened Runtime签名的命令行应用程序,并且出现以下错误:
错误:无法附加到目标进程
我向应用程序添加了 com.apple.security.get-task-allow 权利,然后重新签名。然后,应用程序将以信号9崩溃,而不是失败。当应用程序崩溃时,将以下内容记录到Console.app:
代码签名:处理93890 [appname]:拒绝文件“”中偏移量0x0处地址0x1015f9000处的无效页面(cs_mtime:0.0 == mtime:0.0)(有符号:0验证过的:0:受污染的:0 nx:0: 1脏:0深度:0)
如何将Instruments附加到此应用程序?我正在运行macOS Mojave。
答案 0 :(得分:0)
我发现了两种解决方法:
请勿在启用“强化运行时”的情况下进行代码签名-这对于调试版本是一个很好的解决方案,但对于您可能想要notarize的发行版本而言,则不是一个好的解决方案。此外,它没有提供Hardened Runtime提供的安全保护。
添加其他权利: com.apple.security.cs.disable-executable-page-protection 。这可行,但令我担心的是它是必需的。它也影响安全性,但影响不如第一个解决方案。