Как отладить лязг с помощью Eclipse - PullRequest
1 голос
/ 13 марта 2012

Я пытаюсь отладить лязг с помощью затмения. Я поставил точку останова в clang / lib / lex / preprocessor.cpp в конструкторе препроцессора.

  1. Я установил файл "test.c" в качестве аргумента в конфигурации отладки.
  2. Пошел для запуска-> Отладка как-> Локальное приложение C / C ++.
  3. Он спросил "Выберите локальное приложение для отладки". Я выбрал «лязг» и нажал «ОК».
  4. Началось создание кода. Сборка завершена.
  5. Остановился на main () в окне отладки. (Источник недоступен для main ())
  6. После некоторых переходов, он говорит: «прекращено: gdb Debugger (Exited. Exit code = 255)» *

Я не отнесен к кланг-коду (коду препроцессора). Может кто-нибудь, пожалуйста, скажите мне, как отладить код Clang.? Я хочу видеть поток кода в Clang. и как лязг строит АСТ.

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Двоичный файл Clang на самом деле содержит два приложения: сам интерфейс драйвера и компилятора.Последний выполняется с помощью опции -cc1 cmdline.Итак, просто добавьте -v в командную строку clang, чтобы увидеть фактическую последовательность вызова инструмента, возьмите командную строку внешнего интерфейса (та, которая содержит -cc1) и используйте эту командную строку для отладки.

0 голосов
/ 28 сентября 2014

Возникла та же проблема - у вас отсутствует флаг -g (включить информацию об отладке), когда вы создаете свои двоичные файлы.При запуске cmake запустите его с параметром CMAKE_BUILD_TYPE:

cmake -G "Eclipse <CDT_Version> - Unix Makefiles" -D_ECLIPSE_VERSION=<eclipse_version> -DCMAKE_BUILD_TYPE=Debug  <llvm_source_path>

пример:

cmake -G "Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.4 -DCMAKE_BUILD_TYPE=Debug  ../llvm/

надеюсь, что это поможет.

...