Команда полезна для устранения проблем с подписью кода. Вот что я использовал (на Мохаве):

ая с 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

Я был бы очень признателен, если бы кто-нибудь мог подтвердить это поведение, решение этого даже больше :)

Ответы на вопрос(3)

Ваш ответ на вопрос