El depurador por defecto en los sistemas Mac OS modernos es lldb. Sin embargo, ZinjaI solo está preparado para interactuar con gdb.
Suponiendo que el sistema en el que se encuentra ya tiene correctamente instalado un compilador (gcc o llvm-clang, usualmente instalados a través de XCode), ZinjaI puede automatizarle la descarga y compilación del depurador.
Sin embargo, se requiere firmar digitalmente al ejecutable del depurador para que el sistema le otorgue los permisos necesarios para controlar a los programas a depurar. Lamentablemente, el proceso de generación de la firma necesaria no es simple y no está automatizado.
A continuación se describen los pasos necesarios para instalar gdb y firmarlo adecuadamente con la ayuda de ZinjaI:
Puede lanzar el proceso nuevamente mediante este enlace un script en una terminal que intentará descargar y compilar gdb, y lo asistirá en los últimos pasos del proceso de firmado.
El script comenzará a descargar y compilar gdb (necesitará conexión a Internet si es la primera vez que lo ejecuta).
Mientras tanto, puede comenzar a generar una llave adecuada para firmar gdb. Utilice este enlace para abrir el cuadro de configuración de Accesso a Llaves
de sus sistema y siga las siguientes instrucciones:
login.
Keychain Access->
Certificate Assistant->
Create a Certificate...
Name->
zinjai-gdb,
Identity Type->
Self Signed Root,
Certificate Type->
Code Signing
Create, then
Continue, then
Doneto finish the wizard.
My Certificateson one of the left side panels.
zinjai-gdb
Trustdisclosure triangle, scroll to the
Code signtrust pulldown menu and select
Always Trustand authenticate as needed using your username and password.
zinjai-gdbcode signing from the
loginkeychain to the
Systemkeychain in the Keychains pane on the left hand side of the main Keychain Access window. You'll have to authorize a few more times, and set it to be
Always trustedwhen asked. (
sistema
permitir siempre)
zinjai-gdbback to
login.
Luego de finalizar con la compilación de gdb del paso 2, y la generación y aplicación del nuevo certificado del paso 3, zinjai intentará reiniciar el servicio que gestiona estos accesos. En caso de que este último paso falle, deberá reiniciar su sistema para que los cambios tengan efecto.
Si el proceso falla, igual puede utilizar ZinjaI para editar el código, compilar, y ejecutar sus programas. Pero no podrá utilizar las funcionalidades del menú Depuración
.
Instructions based on: https://llvm.org/svn/llvm-project/lldb/trunk/docs/code-signing.txt