2010-06-15 3 views
0

Я отлаживаю скрипт, который я пишу, и результат , выполняющий инструкцию из pdb, не имеет смысла, поэтому моя естественная реакция - попытаться проследить его с помощью pdb.Запуск pdb изнутри pdb


Перефразируя: Yo Dawg, я люблю питон, так что вы можете поставить свой PDB в моем PDB, так что я могу отлаживать в то время как я отладку?

+0

Вы пытались временно поставить заявление в скрипт? –

+0

Извиняется за несколько плохо сформулированный вопрос. Фактическое решение моей проблемы: при назначении значений переменным для проверки вещей в pdb, будьте осторожны, какие имена переменных вы используете. a = some (выражение) + 42 Не задание. Скорее, pdb будет перемещать 'a' в качестве команды и печатать все аргументы текущей функции. foo = some (выражение) + 42 works Я с тех пор нашел решение неправильной проблемы. –

ответ

0

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

Я использую это, когда я уже в PDB строке (как правило, имеющие gotte n там, столкнувшись с хорошо поставленным оператором pdb.set_trace()) и хотите протестировать, например, варианты некоторых вызовов методов, которые не вызываются в моем источнике, но которые я могу вызвать прямо в текущем контексте, вручную.

Если это не то, что вы искали, вы просто хотите, чтобы команда «step» вместо команды «next» в командной строке? (Непонятно, что вы действительно хотите здесь. Пример может помочь.)

Смежные вопросы