11 ответов:
да! Есть отладчик Python под названием
pdbтолько за это!вы можете запустить программу Python через
pdbс помощьюpdb myscript.pyилиpython -m pdb myscript.py.есть несколько команд, которые вы можете затем выдать, которые документированы на
pdbстраница.некоторые полезные из них, чтобы помнить:
b: задайте точку остановаc: продолжайте отладку, пока не нажмете точка остановаs: шаг через кодn: чтобы перейти к следующей строке кодаl: список исходного кода для текущего файла (по умолчанию: 11 линий, включая линии выполняются)u: перейдите вверх по кадру стекаd: перейдите вниз по кадру стекаp: чтобы вывести значение выражения в текущем контекстеесли вы не хотите использовать отладчик командной строки, некоторые IDE, как пункт PyDev есть отладчик GUI.
С помощью интерактивного отладчика Python 'pdb'
первый шаг-заставить интерпретатор Python войти в режим отладки.
A. из командной строки
самый прямой путь, запущенный из командной строки, интерпретатора python
$ python -m pdb scriptName.py > .../pdb_script.py(7)<module>() -> """ (Pdb)Б. В переводчик
при разработке ранних версий модулей и экспериментировать с ним больше итеративный.
$ python Python 2.7 (r27:82508, Jul 3 2010, 21:12:11) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pdb_script >>> import pdb >>> pdb.run('pdb_script.MyObj(5).go()') > <string>(1)<module>() (Pdb)C. Из Вашей Программы
для большого проекта и длительного модуля, можно начать отладку изнутри программы с помощью импорт pdb и set_trace () вот так:
#!/usr/bin/env python # encoding: utf-8 # import pdb class MyObj(object): count = 5 def __init__(self): self.count= 9 def go(self): for i in range(self.count): pdb.set_trace() print i return if __name__ == '__main__': MyObj(5).go()Пошаговая отладка, чтобы перейти в более внутренний
выполните следующую инструкцию ... с "n" (далее)
повторение последней команды отладки... с введите
бросить все это... с "q" (ушел)
печать значения переменных... с помощью "p" (print)
a)п
отключение подсказки (Pdb)... с помощью "c" (продолжение)
видя, где вы находитесь... с "l" (список)
переход в подпрограммы ... с "s" (шаг в)
продолжение... но только до конца текущей подпрограммы... с "r" (возвращение)
присвоить новое значение
a)!b = "B"
установить точку останова
a) break linenumber
б) перерыв имя_функции
c)имя файла разрыва: linenumber
временная точка останова
a)tbreak linenumber
условная точка останова
a)номер строки разрыва, условие
Примечание:* * все эти команды должны выполняться из * * pdb
для углубленного знания, см.: -
https://pythonconquerstheuniverse.wordpress.com/2009/09/10/debugging-in-python/
в python есть модуль под названием "pdb". В верхней части вашего скрипта Python вы делаете
import pdb pdb.set_trace()и вы войдете в режим отладки. Вы можете использовать " s "для шага, "n", чтобы следовать следующей строке, аналогичной тому, что вы сделали бы с отладчиком "gdb".
Если вы пришли из Java / C# фон я думаю, что ваш лучший выбор будет использовать затмение С пункт PyDev. Это дает вам полностью функциональную IDE со встроенным отладчиком. Я использую его и с Джанго.
Если вы хотите IDE со встроенным отладчиком, попробуйте PyScripter.
начиная с Python 3.7, вы можете использовать
breakpoint()встроенная функция для ввода отладчика:foo() breakpoint() # drop into the debugger at this point bar()по умолчанию
breakpoint()импортpdbи звонокpdb.set_trace(). Однако вы можете управлять поведением отладки черезsys.breakpointhook()и использование переменной окруженияPYTHONBREAKPOINT.посмотреть PEP 553 для получения дополнительной информации.
программно шагать и трассировка через код python тоже возможно (и его легко!). Посмотрите на sys.settrace() документация для более подробной информации. Также здесь - это учебник, чтобы вы начали.
Visual Studio с PTVS может быть вариантом для вас: http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx
https://wiki.python.org/moin/PythonDebuggingTools
pudb-хорошая замена для pdb
PyCharm-это IDE для Python, которая включает в себя отладчик. Смотрите это видео на YouTube для ознакомления с использованием отладчика PyCharm для пошагового выполнения кода.
PyCharm учебник-отладка кода python с помощью PyCharm
Примечание: это не должно быть одобрение или обзор. PyCharm-это коммерческий продукт, за который нужно платить, но компания предоставляет бесплатную лицензию студентам и преподавателям, а также "легкую" версию сообщества, которая является бесплатным и открытым исходным кодом.
вы можете посмотреть python debugger что делает именно то, что вы ищете, только не через GUI

Comments