Я изо всех сил пытаюсь заставить отладчик C ++ GDB работать в Eclipse на моем Mac - PullRequest
0 голосов
/ 16 июня 2020

У меня 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.

Так что все еще в недоумении, и любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...