Невозможно достичь точек останова в MonoDevelop

В моей системе archlinux я сделал новую установку:

  • моно 3.0.7
  • monodevelop 4.0.8
  • monodevelop-отладчик-GDB 4.0

Когда я отлаживаю приложение, отладчик не останавливается на точках останова, даже не на коде System.Diagnostics.Debugger.Break ();.
И отображается окно ошибки со следующим сообщением:

Could not connect to the debugger

Кто-нибудь знает как исправить?


person Nicolas    schedule 31.05.2013    source источник
comment
Это также происходит в openSUSE. Я тоже хотел бы знать, как это исправить.   -  person David Mulder    schedule 09.06.2013
comment
Я тоже получаю это на Arch. См. эту ошибку в Xamarin.   -  person pav    schedule 14.06.2013
comment
Вы пытались снять флажок «Запускать на внешней консоли» в настройках запуска проекта?   -  person dna    schedule 14.06.2013
comment
@pav: Рад это слышать, мой Arch Box проделал со мной тот же трюк после этого огромного обновления monodevelop!   -  person dna    schedule 14.06.2013
comment
@dna Замечательный человек, ты дал нам решение !!! Я не знаю, чем полезна функция «Запуск на внешней консоли» и почему она проверена по умолчанию. В любом случае, не стесняйтесь заполнить реальный ответ, чтобы получить свою награду.   -  person Nicolas    schedule 15.06.2013
comment
Я думаю, что он установлен по умолчанию, потому что MonoDevelop ориентирован на разработку мобильных приложений. Похоже, он должен подключаться к вашему смартфону для отладки.   -  person David Mulder    schedule 15.06.2013
comment
Это сработало для меня. @dna, вы должны опубликовать это в качестве ответа.   -  person David Mulder    schedule 15.06.2013
comment
Спасибо, я вообще не публиковал это как ответ, поскольку это в лучшем случае обходной путь! При этом я рад, что теперь вы можете отлаживать свои проекты :)   -  person dna    schedule 15.06.2013
comment
@Nicolas: Run on external console - всплывает терминал и запускает ваше приложение там, а не в окне вывода Monodevelop.   -  person dna    schedule 15.06.2013
comment
@dna Спасибо за ваше объяснение. Я действительно удивлен, что это поведение по умолчанию. В нем отсутствует как минимум подробное сообщение об ошибке.   -  person Nicolas    schedule 15.06.2013
comment
@Nicolas: Для истории - возьмите это в перчатках - и, если я помню правильно, до обновления, которое изменило внешний вид IDE (похоже, Xamarin), это было не поведение по умолчанию, и оба варианта работали отлично. Но после этого огромного обновления встроенные окна вывода Monodevelop были сломаны, поэтому в те дни этот флажок нужно было установить - по крайней мере, в моем поле. Наконец пришло обновление, которое ведет нас туда, и заставило нас снять этот же флажок! Надеюсь, в какой-то момент у нас будут работать обе альтернативы :)   -  person dna    schedule 15.06.2013


Ответы (4)


В качестве временного решения снимите флажок «Запускать на внешней консоли» в настройках текущего проекта. Вы можете найти эту опцию на вкладке «Выполнить» на панели настроек.

person dna    schedule 15.06.2013

Это связано с недавним изменением gnome-terminal. Последний gnome-terminal больше не принимает аргумент --disable-factory.

Установите пакет xterm, затем в сеансе gnome-terminal выполните следующие действия:

$ unset GNOME_DESKTOP_SESSION_ID 
$ monodevelop

Это заставит monodevelop использовать xterm в качестве внешнего терминала, и все должно быть в порядке.

person Kayvan Sylvan    schedule 22.04.2014
comment
Для KDE это KDE_SESSION_VERSION, для Mate - MATE_DESKTOP_SESSION_ID. - person Dmitry Fedorkov; 12.10.2016

Другой фактор, который может привести к тому, что точки останова не будут достигнуты, - это отсутствие установленной кнопки «Отправить отладочную информацию».

Вы найдете этот параметр на вкладке «Проект», затем в нижней части меню «Параметры». Затем найдите ветвь дерева «Сборка», затем параметр «Компилятор». Флажок «Отправить отладочную информацию» находится здесь.

person jdosser    schedule 03.04.2014

У меня была аналогичная проблема - точки останова не срабатывали, пока в свойствах проекта был установлен флажок «Использовать механизм сборки MSBuild».

person Vladimir Shiyanov    schedule 23.07.2015