2013-06-24 3 views
8

Я установил cygwin (последняя версия 1.7.xx?), А затем установил eclipse cdt (Juno).Как заставить gdb работать с Eclipse CDT под окнами (не удается найти исходный код)

Когда я попытался построить проект приветствия, несмотря на то, что затмение идентифицировало, что cygwin был установлен, он не сработал.

Так я вручную добавил C: \ Cygwin \ Bin на путь, который нашел все исполняемые файлы в Cygwin, в том числе г ++, сделать Л.Д., и т.д.

Теперь затмение можно построить проект, но при отладке, gdb запускается и не может найти исходный код. Он утверждает, что не может найти:

/cygdrive/c/users/me/workspace/test1/test1.cc . , хотя это точно, где оно. Как будто система каталогов cygwin не работает.

можно вручную загрузить исходный код из:

C: \ Users \ Me \ рабочее место \ test1 \ test1.cc

и отладчик работает, но в следующий раз я начинаю новый проект, я придется делать это снова. Как вы инструктируете комбо eclipse/cygwin правильно найти исходный код?

Альтернативно, Mingw проще? У меня возникли аналогичные проблемы с eclipse, видя, что mingw есть, но сбой сборки, потому что он не находит исполняемый файл.

+0

Возможно, вы захотите перефразировать вопрос, чтобы показать реальный вопрос, который вы хотите задать. –

+1

Это смешно. Вопрос заключается в том, как заставить eclipse правильно сопоставляться с cygwin, чтобы отладчик работал без ручного указания вручную, где каждый исходный файл каждый раз. Мне кажется очевидным, что я читал свой вопрос. Если Mingw - это вариант, как он работает, потому что у меня были подобные проблемы. – Dov

ответ

13

Вот как я сделал его работу.

  1. Я Гото Window ==> Preferences ==> C/C++ ==> Debug ==> Источник Поиск Путь
  2. Я Добавить Mapping Путь: Source Project
  3. На левой стороне я поставил путь, который ожидает Cygwin, то есть \ главная \ MyName \ проекты и на правой стороне я положил путь для Windows, т.е. C: \ Cygwin \ главная \ MyName \ проекты

Затем, когда я отладки он находит исходный файл штраф ,

+0

Есть ли способ, которым этот параметр используется совместно с другими через файлы .project? – Danijel

2

Я использую MinGW + CDT, и это дает мне большое удовлетворение. Я устанавливал его много раз и никогда не имел никаких разногласий. Нечего настраивать, чем то, что вы сделали с cygwin. Загрузите разработчиков Eclipse для C/C++ (возможно, что вы сделали), чтобы получить CDT (MinGW Tool Chain -> gdb + gcc) напрямую. Установите свой \\MinGW\bin\ в свой PATH, и вам должно быть хорошо ...

Примечание. Как и Cygwin, MinGW предоставляет оболочку, подобную Linux.

Для MinGW-64 готовые сборки немного сложнее найти. См. here.

+1

Хотелось бы узнать, как исправить проблему cygwin, но на данный момент инсталлятор для mingw сделал эту работу. – Dov

+0

Забыл сообщить вам, что для полных 64-битных опций ('-m64', ...) вам понадобится' MinGW-64'. См. Ссылку внизу моего ответа. –

10

Перейти к Windows-> Preference-> C/C++ -> Debug -> Source Lookup Path. Добавьте следующее «Отображение пути».

\cygdrive\c -> c:\ 
2

Хотя выше даны хорошие ответы, но, тем не менее, это может не решить проблему иногда.

Предположим, что вы установите Cygwin в C: но ваше затмение рабочее место находится в D: то есть проблема в вашей монтажной

все, что вам нужно сделать, это, откройте cygwing оболочки & типа «установить», чтобы получить следующее :

[email protected] ~ 
    $ ls 

    [email protected] ~ 
    $ mount 
    C:/cygwin64/bin on /usr/bin type ntfs (binary,auto) 
    C:/cygwin64/lib on /usr/lib type ntfs (binary,auto) 
    C:/cygwin64 on/type ntfs (binary,auto) 
    C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto) 
    D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto) 

    [email protected] ~ 
    $ 

здесь мои проекты находятся под D: \ ECWorkSpace, так что мое отображение должно присутствовать в Eclipse, как: /cygdrive/дд:/

таким образом, в настоящее время Вооруженные с этим знанием делайте то, что говорит PathM

1. goto Window ==> Preferences ==> C/C++ ==> Debug ==> Source Lookup Path 
2. Add a Path Mapping: Project Source 
3. On the left side put "cygdrive\d", & on the right put : "D:\" 

Это должно сработать. (Это было для меня :)) Вы также можете проверить этот FAQ: https://wiki.eclipse.org/CDT/User/FAQ#I.27m_using_cygwin_and_when_launching_the_debugger.2C_it_complains_that_it_can.27t_find_the_source_file

Смежные вопросы