Возможно, вы найдете WingIDE. Его отладчик действительно хорош, и он даже поддерживает отладку удаленных процессов с помощью некоторых минимальных инструментов для отладки кода. Это не бесплатно, но стоит того, ИМХО. (Я никак не связан с Wingware, просто довольный клиент ...)
Чтобы включить удаленную отладку в Wing, вам необходимо скопировать файл wingdbstub.py
в тот же каталог, что и приложение, которое вы хотите отлаживать, и импортировать его в месте вашего кода, который вы хотите отлаживать. (. Это покрыто довольно подробно в WingIDE docs)
Если вы this example и изменить метод myfunc()
выглядеть следующим образом:
def myfunc(conn, commands):
import wingdbstub
# ... remainder same as original example
вы должны быть в состоянии запустить WingIDE, установить точку останова сразу после того, как import
, затем запустите сценарий примера с консоли. Он должен автоматически подключиться к Wing и остановиться в точке останова.
Возможно, вы найдете this post, если у вас возникли проблемы с получением работы отладочного соединения. (В документах WingIDE также делается достойная работа по устранению проблем со связью.)
Я вообще не понимаю, вы можете уточнить? – 2010-11-28 19:13:49
Прокомментируйте начало процесса. Вы хотите отлаживать, но сделать его вариантом командной строки для запуска только этого процесса (с включенным отладчиком). Запустите программу (она, вероятно, застрянет, поскольку процесс, который вы отключили, не запускается;)). Затем запустите программу с аргументом командной строки. Теперь у вас на консоли есть процесс, который нужно запустить под отладчиком. На второй консоли в фоновом режиме выполняется все остальное. Таким образом, отлаженный процесс не использует многопроцессорность. – 2010-12-04 16:04:37