4 votos

macOS Sierra GDB no codesigned

En primer lugar debo señalar que estoy usín macOS Sierra (versión 10.12 beta 16A238m), pero yo no creo que sea muy distinta de la de El Capitan en esta determinada situación (pero supongo que usted sabe más que yo acerca de eso, o yo no estaría aquí ahora mismo esta pregunta).

Lo he instalado GDB (GNU Debugger) para la siguiente entre un libro que estoy leyendo actualmente ("Hacking: el Arte de La Explotación"), que sólo se explica cómo utilizar GDB, así que no puedo usar LLDB. He instalado usando Homebrew (brew install gdb), y todo funcionaba bien. Hasta que la he usado. He compilado mi código fuente en C usando clang -g hello_word.c -o hello_world (es solo un simple C "Hola, Mundo!") y, a continuación, ejecutar gdb -q hello_world, y aquí está la sesión:

Chens-MacBook-Pro:C chenjian$ gdb -q hello_world
Reading symbols from hello_world...Reading symbols from /Users/chenjian/Documents/Coding/Projects/RandomDev/C/hello_world.dSYM/Contents/Resources/DWARF/hello_world...done.
done.
(gdb) list
1   #include <stdio.h>
2   
3   int main() {
4       printf("Hello, World!\n");
5   }
(gdb) break main
Breakpoint 1 at 0x100000f6f: file hello_world.c, line 4.
(gdb) run
Starting program: /Users/chenjian/Documents/Coding/Projects/RandomDev/C/hello_world 
Unable to find Mach task port for process-id 42492: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

Así que busqué en google un poco acerca de codesigning, y encontré este. Así que me fui a través de las instrucciones (a excepción de los de Snow Leopard), y aún así no funciona! Alguien sabe cómo puedo hacer que funcione?

0voto

Oskar Puntos 1242
  1. De arranque para la recuperación
  2. Abra El Terminal
  3. tipo csrutil disable

A continuación, reinicie. dtrace y gdb debería funcionar.

https://developer.apple.com/library/mac/documentation/Security/Conceptual/System_Integrity_Protection_Guide/ConfiguringSystemIntegrityProtection/ConfiguringSystemIntegrityProtection.html

También puede ejecutar una secuencia de comandos para determinar qué partes de la SIP se activa si se permiten las exclusiones:

Una cosa buena es que usted no necesita para relajarse SIP si usted elige utilizar lldb y puede compilar el código con Xcode. Desde gdb no está firmada por Apple - es intencionalmente impedido fijarse para nada en el sistema de diseño.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X