Команда полезна для устранения проблем с подписью кода. Вот что я использовал (на Мохаве):
ая с 10.5 и далее, существует множество тем, посвященных вопросам, связанным с кодами в macOS. Я хотел добиться того, чтобы Geany работал с отладчиком GNU (gdb). Отладчик найден в geany, но (уже довольно известное) сообщение об ошибке:
Error message from debugger back end:
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Как правило, существует множество ограничений, позволяющих учесть, что (следует) разрешить использование GDB, например, GDB 8.0.1 может работать, GDB 8.1 не будет работать вообще -глянь сюда, также подтверждено в Lazarus Wiki.
0) Я создал свой сертификат "gdb-cert" в соответствии с шагами, описанными в различных инструкциях. примерВот
1) Я выполнил шаги по кодированию подписи исполняемого файла GDB (источник:GDB, а такжеПереполнение стека) что в моем случае под
/usr/local/Cellar/gdb/8.0.1/bin/gdb
(еще раз заметим, что в некоторых языках есть проблемы с 8.1 - и на паскале). Если вы хотите убедиться, что код подписан, перейдите к
$ codesign -vvvv gdb
в соответствующем каталоге. Мой есть.
2) Убедитесь, что сертификат действительно был назначен, чтобы иметь право на подпись кода - это в моем случае. Также доверяют - что необходимо.
3) Я также попробовал другой способ запустить gdb, описанный выше, где файл был отредактирован (обратите внимание, что SIP должен быть отключен в процессе восстановления !!!!)Модификации работают только еслиcsrutil disable
используется в восстановлении.
sudo nano /System/Library/LaunchDaemons/com.apple.taskgated.plist
Разрушительная вещь, после этого шага,никакой редактор кода не запустится снова (!!), пока это изменение не будет отменено (Geany, Atom, текстовый редактор, MS Visual Studio - все не работает после вставки -sp в файл)
4) В некоторых темах я обнаружил, что отладка будет работать только если командаcsrutil enable --withouth
отладка используется в рекавери. Это ничего не изменило.
В конце концов я получил:
сертификат на кодовый знакисполняемый файл GDB, который подписан в соответствии с моим утверждением вышефайл com.apple.taskgated.plist, не заполнивший атрибут string -spЯ был бы очень признателен, если бы кто-нибудь мог подтвердить это поведение, решение этого даже больше :)