Спершу слід зазначити, що я використовую macOS Sierra (версія 10.12 бета-версія 16A238m), але я не думаю, що в цій певній ситуації він відрізняється від El Capitan (але, мабуть, ви знаєте більше, ніж я про це, або я б не хотів я зараз тут не ставлю це питання).
Тому я встановив GDB (The GNU Debugger) для перегляду серед книги, яку я зараз читаю ("Злом: Мистецтво експлуатації"), яка пояснює лише, як використовувати GDB, тому я не можу використовувати LLDB. Я встановив його за допомогою Homebrew ( brew install gdb
), і все працювало чудово. Поки я не користувався ним. Я скомпілював свій вихідний код C за допомогою clang -g hello_word.c -o hello_world
(це просто проста програма "Привіт, світ!"), А потім запускаю gdb -q hello_world
, і ось сеанс:
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))
Тож я трохи погукався про розроблення коду і виявив це . Тому я переглянув інструкції (крім інструкцій для Snow Leopard), і вона все ще не працює! Хтось знає, як я можу змусити його працювати?