Instruments аварийно завершает работу приложения с Hardened Runtime на macOS Mojave - PullRequest
0 голосов
/ 09 марта 2019

Я обнаружил, что Xcode 10 Instruments (Leaks) не сможет подключиться к приложению командной строки, подписанному с включенным Hardened Runtime , со следующей ошибкой:

Ошибка: не удалось подключиться к целевому процессу

Я добавил в приложение com.apple.security.get-task-allow и повторно подписал его. Затем, вместо того, чтобы не подключиться, приложение будет аварийно завершать работу с сигналом 9. Когда приложение аварийно завершает работу, в Console.app:

регистрируется следующее.

ПОДПИСАНИЕ КОДА: процесс 93890 [имя приложения]: отклонение неверной страницы по адресу 0x1015f9000 со смещением 0x0 в файле "" (cs_mtime: 0.0 == mtime: 0.0) (подписано: 0 проверено: 0 испорчено: 0 nx: 0 wpmapped: 1 грязный: 0 глубина: 0)

Как прикрепить инструменты к этому приложению? Я использую macOS Mojave.

1 Ответ

0 голосов
/ 09 марта 2019

Я нашел два способа исправить это:

  1. Не кодировать с включенной Hardened Runtime - это хорошее решение для отладочных сборок, но не для сборки выпуска, которая может вам понадобиться нотариально .Кроме того, он пропускает защиту, обеспечиваемую Hardened Runtime.

  2. Добавьте еще одно право: com.apple.security.cs.disable-executetable-page-защита .Это работает, но меня беспокоит, что это требуется.Это также влияет на безопасность, но в меньшей степени, чем первое решение.

...