Программа "Просмотр" обрабатывается построчно? - PullRequest
1 голос
/ 03 августа 2009

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

Ответы [ 6 ]

3 голосов
/ 03 августа 2009

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

1 голос
/ 03 августа 2009

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

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

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

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

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

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

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

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

Итог .

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

1 голос
/ 03 августа 2009

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

0 голосов
/ 03 августа 2009

Попробуйте IPython вместе с ipdb

0 голосов
/ 03 августа 2009
0 голосов
/ 03 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...