2015-02-20 2 views
1

Мне нужна помощь с использованием точек останова Eclipse. Я работаю над многопоточным C++-приложением, используя Eclipse Luna Service Release 2 RC3 (4.4.2), с GDB 7.1, на ubuntu 10.04 32-бит. Мне удается поставить и остановить на контрольных точках, но при продолжении я не получаю остановку отладчика в одном и том же месте, хотя он периодически выполняет эту строку снова и снова (без остановки в точке останова), добавляя новую точку останова ниже или выше, делает ее stop, но при нажатии на резюме он не останавливается на этих строках. Я пытался работать в режиме без останова и без него, но все равно получаю такой же неожиданный результат. Я даже попытался создать новый мир приветствия проекта, в котором я добавил цикл while и sleep, и установил точку останова как сон. Он останавливается там, но удаление точки останова, возобновление и снова добавление точки останова, это не останавливает больше ....Отладчик eclipse - неожиданное поведение точки останова

int main() { 
    while(1) 
    { 
     sleep(1); 
    } 
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!! 
    return 0; 
} 

Я никогда не видел такой unepected поведения. Пожалуйста, помогите ...

Благодаря Ран

ответ

1

Это точно такая же проблема, которую я имел. Я могу воспроизвести его, как вы описали с помощью своего проекта hello world (я на KeplerSR2 на WindowsXP).

Я видел, как вы нашли себе ответ, который я отправил об этом (изменение запуска GDB с «GDS DSF» в «Наследие Создание процесса запуска»), я связал его, если другие сталкиваются с той же проблемой: https://stackoverflow.com/a/27377261/2937955

Но я понял немного лучше, почему GDB SDF не работает должным образом, по крайней мере, в моем случае. Кажется, gdb не нашел исходные файлы. Когда я добавлял точку останова, он кричал на меня «Нет исходного файла с именем D: 010workspaceTestGDB.cpp». Кажется, gdb не любит обратную косую черту ... Почему это проблема только при возобновлении? Это странно.

Это привело меня к следующему ответу, который, я надеюсь, тоже сработает для вас: держите GDB DSF Launcher, но в Run> Debug Configurations> yourLauncher> вкладка «Источник» нажмите «Добавить» и выберите «Проект - путь по отношению к исходным папкам» ». Выберите свой проект и поставьте его выше «Путь поиска источника по умолчанию».

+0

хорошо, похоже, не работает в моем случае. Я получаю ошибку «Нет исходного файла с именем ...» при попытке установить точку останова при использовании dsf с «Project-Path Relative to Source Folders» – ransh

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