Primero debo notar que estoy usando macOS Sierra (versión 10.12 beta 16A238m), pero no creo que sea tan diferente a El Capitán en esta situación (pero creo que sabes más que yo sobre eso, o no estaría aquí ahora mismo haciendo esta pregunta).
Así que instalé GDB (The GNU Debugger) para seguir entre un libro que estoy leyendo actualmente ("Hacking: The Art of Exploitation"), que solo explica cómo usar GDB, por lo que no puedo usar LLDB. Lo instalé utilizando Homebrew ( brew install gdb
), y todo funcionó bien. Hasta que lo usé.
Compilé mi código fuente de C usando clang -g hello_word.c -o hello_world
(es solo un simple programa C "¡Hola, mundo!"), Y luego ejecuté 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 la codificación de códigos y encontré este . Así que seguí las instrucciones (excepto las de Snow Leopard), ¡y todavía no funciona! ¿Alguien sabe cómo puedo hacer que funcione?