Отладка в IronPython при использовании SharpDevelop 4
Я начинаю с SharpDevelop и IronPython, и у меня возникли проблемы с базовой отладкой.
Во-первых, как мне справиться с необработанными ошибками?
При использовании Debug->Run, если в моем приложении будет ошибка, на консоли ipy будет кратко мигать сообщение, но приложение немедленно закроется вместе с консолью ipy. Это должно быть простое исправление, но мне было трудно его найти.
Если я использую "Отладка ->" Запустить без отладчика "", я получаю сообщение об ошибке пост-компиляции необработанного исключения, но оно в формате, который будет трудно проанализировать для приложения приличного размера.
Во-вторых, окно "Смотреть" кажется практически бесполезным. Кажется, он не распознает объекты управления формой Python (то есть "self._textBox1) и часто генерирует необработанные исключения.
В-третьих, кажется, что контекстной помощи гораздо меньше, чем я ожидал от Python IDE, особенно в тех же элементах управления формой. Аналогичным образом, наведение стрелки на переменную в точке останова редко показывает мне что-либо.
Так что, возможно, моя среда неправильно настроена! Если у кого-то есть все или большая часть этой работы, я хотел бы услышать (или указать), как это можно исправить. Дизайнер форм с графическим интерфейсом - это круто, но он не стоит постоянных отладок.
РЕДАКТИРОВАТЬ: Ответ, который я выбрал, показывает, я думаю, что я действительно не могу рекомендовать использовать SharpDevelop с IronPython прямо сейчас.
2 ответа
Поддержка IronPython в SharpDevelop довольно проста и имеет множество ограничений.
Я хотел бы взглянуть на использование Python Tools для Visual Studio, которое бесплатно, с открытым исходным кодом и поддерживается командой Microsoft. У этого есть лучшая поддержка завершения кода и отладки.
Единственное, чего у него нет по сравнению с SharpDevelop, это:
- Дизайнер форм
- Поддержка преобразования кода в IronPython (C# в Python).
Это немного длиннее, чем комментарий, так что для ясности я просто привожу его в качестве ответа.
Мне самому все еще не нравится, что в Python Tools For VS нет редактора графического интерфейса - поэтому я решил попробовать использовать SharpDevelop - у меня была точно такая же проблема, как указано выше - но я нашел полезной следующую ветку (тоже ответил Мэтт Уорд - спасибо и ура!) http://community.sharpdevelop.net/forums/p/16639/45253.aspx
Итак, во-первых, у меня тоже было несколько растровых изображений по умолчанию на ToolStripButtons, которые вызывали исключение в начале, которое мигало и исчезало - я увидел исключение, перейдя в командную строку в том месте, где находился проект, и вызвав ipy Program. py там (потом я узнал, что на самом деле sharpdevelop компилирует вещи - не понял этого с VS)
затем я смог отладить и достичь точки останова, выбрав не "Отладка", а "Step Into". это немного громоздко, не зная, где произойдет сбой программы и т. д., и пробуя различные точки останова и т. д., но мне действительно нравится дизайнер графического интерфейса в SharpDevelop, он действительно аккуратный, и я был потрясен тем, что его нет в VS+IronPython..
и да. часы и т. д. не работают довольно часто и вызывают исключения в самом SharpDevelop - так что я не буду полагаться на них - но хорошо - это не будет иметь для меня большого значения,... я надеюсь:P