Отладка рабочего процесса Python

Проблема в том, что вы вызываете GetGridData из фонового потока. Этот метод обращается к нескольким элементам управления WPF, которые привязаны к основному потоку. Любая попытка доступа к ним из фонового потока приведет к этой ошибке.

Чтобы вернуться к правильной теме, вы должны использовать SynchronizationContext.Current.Post. Однако в этом конкретном случае, похоже, большая часть работы, которую вы выполняете, основана на пользовательском интерфейсе. Следовательно, вы создадите фоновый поток, чтобы сразу вернуться к потоку пользовательского интерфейса и выполнить некоторую работу. Вам нужно немного реорганизовать свой код, чтобы он мог выполнять дорогостоящую работу в фоновом потоке, а затем публиковать новые данные в потоке пользовательского интерфейса после

17
задан Kozyarchuk 2 April 2009 в 01:45
поделиться

2 ответа

Winpdb является независимым от платформы графическим отладчиком Python GPL с поддержкой удаленной отладки по сети, несколько потоков, модификация пространства имен, встроили отладку, зашифрованную коммуникацию и до 20 раз быстрее, чем pdb.

Функции:

  • Лицензия GPL. Winpdb является Бесплатное программное обеспечение.
  • Совместимый с CPython 2.3 до 2,6 и Python 3000
  • Совместимый с wxPython 2.6 до 2,8
  • Независимый от платформы, и протестированный на Ubuntu Бесстрашный и Windows XP.
  • Пользовательские интерфейсы: rpdb2 является базирующейся консолью, в то время как winpdb требует wxPython 2.6 или позже.

Screenshot
(источник: winpdb.org)

6
ответ дан 30 November 2019 в 14:41
поделиться

Около 4 лет назад, когда я использовал витой, люк был отличным способом сделать то, что вы просите.

http://twistedmatrix.com/projects/core/documentation/howto/telnet.html

Сейчас большинство моих проектов не используют витые, поэтому я просто использую WingIDE перехватывает удаленную отладку для анализа работающего процесса.

http://www.wingware.com/doc/debug/remote-debugging

2
ответ дан 30 November 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: