Настройка отладчика Eclipse C / C ++ lldb macOS Catalina - PullRequest
0 голосов
/ 30 января 2020

Я уже некоторое время использую Eclipse для разработки java, и это без проблем. Я также подумал об использовании eclipse для разработки C. Я установил дополнение C / C ++ IDE CDT 9.9 с торговой площадки. Теперь я могу создать проект Makefile и разработать код. Но я не могу отладить код. После некоторого исследования я понял, что встроенный отладчик CDT интегрирован, GDB больше не поставляется с macOS. Итак, в этот момент я понял, что у меня есть два решения:

  1. Установите GDB и все работает нормально.
  2. Установите LLDB addon для Eclipse, доступный на рынке, и все работает нормально.

Я продолжал установку аддона LLDB для Eclipse, и при попытке отладки он показал мне:

Eclipse debugger error message

Я проверил это в терминале, и я обнаружил, что lldb доступен и lldb-mi не доступен. Я гуглил его и нашел lldb-mi . Чтобы установить lldb-mi, как показано на странице Github, мне нужно было установить CMake. Когда я пытался сгенерировать файлы сборки для lldb-mi с помощью CMake, он показал мне:

CMake lldb-mi error message

После просмотра этого сообщения я подумал, что может понадобиться установить LLVM. Я гуглил и нашел два способа:

  1. Установить из Homebrew
  2. Скомпилировать и собрать из исходного кода и установить из него

Я выбрал go и скомпилируйте исходный код и установите его. Я скачал llvm-9.0.0.sr c и сгенерировал сборку в соответствии с инструкциями здесь . Прошло почти 2 часа и выдало эту ошибку:

enter image description here

Теперь, насколько я понимаю, я просто сгенерировал файлы сборки (Makefiles) и скомпилировал LLVM исходный код. Теперь он размером 19 ГБ. Должен ли я go впереди и установить его? или я что-то неверно истолковал и сделал что-то не так?

Как отметил @ Цыварев, используя sudo, llvm был успешно установлен. Теперь необходимо установить lldb-mi. Когда я go вернулся и cmake ., он показывает мне эту ошибку:

Karthiks-MacBook-Pro:lldb-mi-master karthik$ sudo cmake .
-- Found LLVM 9.0.0
-- Using LLVMConfig.cmake in: /usr/local/lib/cmake/llvm
-- Building with -fPIC
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
lib_lldb
linked by target "lldb-mi" in directory /Users/karthik/Downloads/lldb-mi-master/src

-- Configuring incomplete, errors occurred!
See also "/Users/karthik/Downloads/lldb-mi-master/CMakeFiles/CMakeOutput.log".

Как указывало @squareskittles, я понял, что lldb-mi требует lib_lldb для cmake для генерации файлов сборки. Я сделал:

$git clone https://github.com/lldb-tools/lldb-mi
$cd lldb-mi
$mkdir build
$cmake -DCMAKE_PREFIX_PATH=path/to/llvm/root/tree -S . -B build/

CMake должен сгенерировать все файлы сборки в lldb-mi/build/. Это успешно. $ cd build $ make make должна скомпилировать код. Он выдал: enter image description here

Karthiks-MacBook-Pro:lldb-mi karthik$ cd build
Karthiks-MacBook-Pro:build karthik$ make
[  1%] Building CXX object src/CMakeFiles/lldb-mi.dir/MICmdArgValListBase.cpp.o
In file included from /Users/karthik/buildspace/lldb-mi/src/MICmdArgValListBase.cpp:10:
/Users/karthik/buildspace/lldb-mi/src/MICmdArgValListBase.h:40:69: error: a space is required between consecutive right
  angle brackets (use '> >')
: public CMICmdArgValBaseTemplate<std::vector<CMICmdArgValBase *>> {
                                                                ^~
                                                                > >
1 error generated.
make[2]: *** [src/CMakeFiles/lldb-mi.dir/MICmdArgValListBase.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/lldb-mi.dir/all] Error 2
make: *** [all] Error 2
Karthiks-MacBook-Pro:build karthik$ 

Я поставил пробел между этими > >, но в коде все еще много ошибок. Я предполагаю, что в самом хранилище lldb-mi есть ошибки.

Может кто-нибудь сказать мне, что мне следует делать сейчас?

Заранее спасибо!

1 Ответ

0 голосов
/ 15 апреля 2020

lldb-mi больше не присутствует в Xcode 11.x, но lldb и LLDB.Framework уже включены в Xcode. Используйте lldb-mi, который поставляется в комплекте с предыдущими версиями XCode (10.x), расположение - «Xcode.app/Contents/Developer/usr/bin/lldb-mi», скопируйте его в то же местоположение текущей версии XCode .

И в Eclipse измените расположение команды lldb.

Fine!

...