У меня Eclipse 2020-03 (4.15.0) работает на моем Ma c 10.14.6, и я установил GDB с Homebrew из https://formulae.brew.sh/formula/gdb, который установлен, насколько я могу видеть , правильно.
which gdb
дает мне / usr / local / bin / gdb
gdb --version
дает 9.2
Я установил путь в Eclipse - ПРЕДПОЧТЕНИЯ> C ++> DEBUG> GDB
Я пробовал следовать инструкциям в следующих ссылках, чтобы подписать двоичный файл gdb;
https://www.ics.uci.edu/~pattis/common/handouts/macmingweclipse/allexperimental/mac-gdb-install.html
https://sourceware.org/gdb/wiki/PermissionsDarwin
https://www.youtube.com/watch?v=JdcpDOf5Sog
но пока ничего не работает ...
Когда я устанавливаю точку останова в Eclipse и пытаюсь отладить, это не ошибка (как это было перед установкой gdb), но просто выводит результат, подобный следующему:
19:32:53 **** Incremental Build of configuration Debug for project test ****
make all
make: Nothing to be done for `all'.
19:32:53 Build Finished. 0 errors, 0 warnings. (took 97ms)
Я сделал короткий клип о том, что происходит, это не очень хорошо, но если вы посмотрите это в HD, вы можете просто увидеть, что я делаю, и можете понять, что происходит не так;
https://www.youtube.com/watch?v=AUKdURVIbs8
Я не так уж плох re с Eclipse и действительно не используйте его для Java, предпочитая Netbeans, но вроде как необходимость использовать его здесь для материала C ++, любые предложения будут очень благодарны.
Обновление 1: Я также пробовал это в Netbeans (8.2) и получал ошибку
GDB has unexpectedly stopped with return 1
аналогично другим потокам здесь, но, к сожалению, не смог разрешить ни Netbeans, ни Eclipse.
Обновление 2: Я попытался запустить gdb из командной строки следующим образом:
Я скомпилировал тестовое приложение как;
g++ test.cpp -g -Wall -Werror -o test.o
Затем я начал отладчик с помощью:
gdb test.o
Установите точку останова с помощью:
break 4
и, наконец, запустив:
run
Я получаю следующий результат:
Starting program: /Volumes/D_SLAVE/My Documents/My Projects/Code Ready Studio/C_test/src/test.o
Unable to find Mach task port for process-id 15719: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
Хорошо, есть некоторый прогресс, возможно, он подписан неправильно, что я проверяю с помощью:
codesign --verify --verbose /usr/local/bin/gdb
и получаю следующий результат:
/usr/local/bin/gdb: valid on disk
/usr/local/bin/gdb: satisfies its Designated Requirement
что я считаю показателем того, что двоичный файл, в данном случае gdb, действительно подписан правильно.
* 1 080 *
Обновление 3: Я решил проблему, описанную в
обновлении 2 , поскольку двоичный файл gdb теперь подписан, и я могу запустить его, как ожидалось, из командной строки внимательно следуя инструкциям из
https://sourceware.org/gdb/wiki/BuildingOnDarwin
и
https://sourceware.org/gdb/wiki/PermissionsDarwin
, но по-прежнему нет радости ни с Eclipse, ни с Netbeans.
Так что все еще в недоумении, и любая помощь приветствуется.