как загрузить модуль в отладчике Python

1

Это выглядит как-то просто, но я пока не нашел ответа -

Я только что узнал python и вам нужно начать изучать pdb. В моем модуле у меня есть обычный трюк if __name__ == __main_ для выполнения некоторого кода, когда модуль запускается как программа.

До сих пор я запускал его с помощью синтаксиса python -m mymod arg1 arg2

Теперь я хочу сделать то же самое изнутри pdb. Обычно в C я бы просто сделал gdb mybinary, а затем run arg1 arg2

Но я не могу понять, как добиться того же самого в pdb.

Я уверен, что должен быть простой способ добиться этого, но он слишком долго меня искал.

Спасибо за вашу помощь!

Теги:
debugging

1 ответ

1
Лучший ответ

Try:

python -m pdb mymod.py arg1 arg2

Это должно запустить pdb отладку mymod.py(если mymod.py не находится в текущем каталоге, тогда вам нужно будет указать путь).

Альтернативно установите контрольную точку в коде, где вы хотите начать отладку. Обычный способ получить точку останова в pdb:

if somecondition:
    import pdb; pdb.set_trace()

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

  • 0
    Спасибо, второе предложение сработало нормально. Первый не может загрузить несколько модулей, используя -m, позже я выясню синтаксис этого. А пока просто воспользуюсь вторым способом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню