Проблема в том, что вы вызываете GetGridData
из фонового потока. Этот метод обращается к нескольким элементам управления WPF, которые привязаны к основному потоку. Любая попытка доступа к ним из фонового потока приведет к этой ошибке.
Чтобы вернуться к правильной теме, вы должны использовать SynchronizationContext.Current.Post
. Однако в этом конкретном случае, похоже, большая часть работы, которую вы выполняете, основана на пользовательском интерфейсе. Следовательно, вы создадите фоновый поток, чтобы сразу вернуться к потоку пользовательского интерфейса и выполнить некоторую работу. Вам нужно немного реорганизовать свой код, чтобы он мог выполнять дорогостоящую работу в фоновом потоке, а затем публиковать новые данные в потоке пользовательского интерфейса после
Winpdb является независимым от платформы графическим отладчиком Python GPL с поддержкой удаленной отладки по сети, несколько потоков, модификация пространства имен, встроили отладку, зашифрованную коммуникацию и до 20 раз быстрее, чем pdb.
Функции:
(источник: winpdb.org)
Около 4 лет назад, когда я использовал витой, люк был отличным способом сделать то, что вы просите.
http://twistedmatrix.com/projects/core/documentation/howto/telnet.html
Сейчас большинство моих проектов не используют витые, поэтому я просто использую WingIDE перехватывает удаленную отладку для анализа работающего процесса.