У меня возникла проблема с отладкой С++-программы в Eclipse (последний RC Helios, обновленный с помощью самого последнего CDT изнутри) на OSX.
Программа очень проста (в настоящем уроке 2 из уроков NeHe OpenGL), состоящая из одного файла cpp и с использованием OpenGL и Cocoa фреймворков и связывания с libSDL.a и libSDLmain.a.
Структура проекта очень проста: исходный файл находится в подкаталоге проекта src/, а исполняемый файл создается в корневом каталоге проекта.
Проблема в том, что всякий раз, когда я пытаюсь добавить точки останова и отлаживаю его, точки останова, кажется, получаются отлично, но источник не отображается - вместо этого я просто получаю сообщение "Нет источника для основной ошибки" в окне кода.
Флаги компилятора имеют оптимизацию, равную none, и оба компилятора и компоновщика имеют флаг флагов отладки (-g).
В настройке отладки в Eclipse установлено значение "Standard spwn progess", а для отладчика установлено значение "gdb".
Теперь самое странное, что если я попытаюсь отлаживать тот же самый исполняемый файл - то есть. то же самое, что было построено Eclipse - используя gdb из Terminal (shell), тогда все работает нормально. Точки останова попадают, отображается исходный код, никаких проблем вообще.
Я убедился, что оба Eclipse и оболочка используют один и тот же исполняемый файл gdb, и они (it/usr/bin/gdb).
Теперь я могу ошибаться, но это все говорит мне, что не может быть проблемы с флагами компилятора и компоновщика (поскольку тот же исполняемый файл отлаживается из оболочки), поэтому, вероятно, проблема должна быть связана с тем, как gdb вызывается из Eclipse? Возможно, при запуске из Eclipse gdb собирает различные файлы конфигурации или что-то, чем когда он запускается из оболочки? (Кто-нибудь знает?)
Я бы очень признателен за любую помощь в этом, потому что он медленно меня зацикливал!
Пожалуйста, дайте мне знать, если будут какие-либо другие детали, которые были бы полезны - точные номера версий Eclipse/cdt/gdb, точные строки компоновщика/компилятора и т.д. - и я очень с удовольствием обновлю эту запись с ними.
Большое спасибо заранее,
thoughton.
--- отредактировано @ "14 часов назад" ---
Я попробовал "добавить путь к файловой системе" (с опцией "поиск подпапок" ), но это не сработало. Я также попытался создать новый полностью плоский проект, но это тоже не сработало. Я даже попытался получить выпуск Galileo (eclipse-SDK-3.5.2RC4 с обновлением CDT), но это не имело никакого значения (кроме того, что gdb медленнее запускать).
И вот что-то еще странное, что я заметил: как только я получаю сообщение "Нет источника", если я затем переключу консоль Eclipse, чтобы отобразить консоль "gdb", а также включите "Verbose console mode", чтобы я мог сообщить об этом, Я могу затем выполнить команды "l" и "bt" и заставить их работать успешно, показывая правильный источник и стек, где была удалена точка останова. Который, исправьте меня, если я ошибаюсь, должен означать, что информация есть, и gdb вызывается правильно - так почему Eclipse не увидит эту информацию?
Я сближаюсь с тем, чтобы отказаться от Eclipse, чтобы быть честным... Я тоже пришел к этому с такими большими надеждами.
Любая дополнительная помощь или мысли были бы чрезвычайно оценены.
т.