Последние пару часов я пытался выяснить, как заставить GDB работать на MacOS. Я наконец-то получил его и получил возможность запускать файлы внутри оболочки, но даже самые простые файлы не могут работать должным образом. Я просто пытаюсь запустить файл "hello world", который называется hello. cpp. Я знаю, что файл отлично работает за пределами GDB.
#include<iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}
Для компиляции программы я запускаю $ g++ hello.cpp -o hello -g
. Чтобы запустить оболочку, я должен дать sudo разрешение $ sudo gdb
. Попадая в оболочку, я пытаюсь использовать команду «start» (gdb) start
. Я всегда получаю один из трех результатов выполнения этой серии команд.
(gdb) start
Temporary breakpoint 1 at 0x100001056: file hello.cpp, line 5.
Starting program: /Users/mllax8/Desktop/Embedded/Embedded_Labs/lab0/hello
[New Thread 0x1103 of process 1639]
[New Thread 0xe03 of process 1639]
During startup program terminated with signal ?, Unknown signal.
или
(gdb) start
Temporary breakpoint 1 at 0x100001056: file hello.cpp, line 5.
Starting program: /Users/mllax8/Desktop/Embedded/Embedded_Labs/lab0/hello
[New Thread 0x1003 of process 1625]
[New Thread 0xe03 of process 1625]
During startup program terminated with signal SIGTRAP, Trace/breakpoint trap.
или он просто застревает после строки [New Thread… и должен быть прерван вручную
Те же 3 ошибки, кажется, происходят, когда я использую run
. Что бы это могло быть?