Программа "Наблюдение" проходит последовательно по очереди?

Я ищу инструмент отладки, который запустит мое приложение Python, но покажет, какая строка обрабатывается в данный момент - как автоматически отлаживающий отладчик. В основном я хочу посмотреть, что происходит, но иметь возможность прыгать, если происходит трассировка.

Любые предложения?

Ответ 1

Winpdb - хороший отладчик python. Он написан на Python под GPL, поэтому добавление функций автоматического шага, которые вы хотите, не должно быть слишком сложным.

Ответ 2

Я думаю, вы ищете модуль pdb.

Ответ 3

"В принципе, я хочу посмотреть, что происходит, но иметь возможность прыгать, если происходит трассировка".

Вот радикальная мысль: не надо.

"Наблюдение" - это костыль. Вы должны писать небольшие разделы кода, которые будут знать. Затем соедините их.

Наблюдение иногда происходит из "Я не уверен, что Python действительно делает", поэтому есть желание "посмотреть" выполнение и посмотреть, что происходит. В других случаях просмотр результатов написания script, который слишком велик и сложный без правильной декомпозиции. Иногда просматривайте результаты с подробной спецификации, которая была переведена на Python без глубокого понимания. Я видел, как люди делали это; конечно, есть еще много причин.

Совет, однако, одинаковый для всех:

  • Разбей вещи на мелкие кусочки, обычно классов функций. Делать их достаточно просто, чтобы вы могли на самом деле понять, что такое Python делает.

  • Вязать их вместе, чтобы создать более крупное приложение из предметов, которые вы на самом деле понимаю.

Наблюдение ограничит вашу способность писать рабочее программное обеспечение. Это будет очень реально - ограничить тривиальные упражнения программирования. Это не хороший инструмент обучения; и это совершенно ужасный способ создать производственный код.

Нижняя строка.

Не преследуйте "наблюдение". Разложите на более мелкие куски, чтобы вам не нужно было смотреть.

Ответ 4

Интегрированный отладчик в Wing IDE довольно универсален и с ним приятно работать. (версия Wing IDE 101 бесплатна.)

Ответ 6

Попробуйте IPython наряду с ipdb