Я использую ipdb.set_trace()
всякий раз, когда мне нужно установить точку останова в моем коде. Прямо сейчас я пытаюсь использовать его в процессе, который я создал с помощью multiprocessing
, в то время как код действительно останавливается, я не могу вводить что-либо, чтобы продолжить отладку. Есть ли способ получить мой stdin
направленный правильно?Как использовать ipdb.set_trace в раздвоенном процессе
В идеале я хотел бы представить новое консольное открытие каждый раз, когда разветвленный процесс остановлен для отладки, однако я не думаю, что это возможно.
Было бы неплохо, если вы подтвердите ответ, указанный @ yoav-glazner. Можете ли вы использовать клавиатуру после изменения _multiprocessing_ на _dummy_ ?. – jgomo3
@ jgomo3 Я подтвердил, что он действительно работает, но я (лично) не чувствую, что он отвечает на мой вопрос – Seanny123
Я полагаю, что вам приходилось менять код te каждый раз, когда вы хотите отлаживать. Можно было бы утверждать, что вы делаете это уже с pdb.set_trace(), но я знаю, что вы упали, должен быть другой способ добиться того же, не меняя код. Интересно, есть ли способ сообщить pdb использовать манекен вместо многопроцессорности для импорта многопроцессорности? Это своего рода monkeypatching/mocking для отладки. – jgomo3