Udostępnij za pośrednictwem


Debugowanie aplikacji wielowątkowych

wątek jest sekwencją instrukcje, których system operacyjny przydziela czas procesora.Każdy proces jest uruchomiony system operacyjny składa się z co najmniej jeden wątek.Nazywane są wielowątkowe procesy, które mają więcej niż jeden wątek .

Komputery z wielu procesorów, wielordzeniowymi procesorami lub procesów hyperthreading można uruchomić wiele wątków jednocześnie.Równoległe przetwarzanie wielu wątków można znacznie poprawić program wydajność, ale może również wprowadzać debugowanie trudniejsze, ponieważ ona wprowadza konieczność, aby śledzić wiele wątków.

Ponadto wielowątkowość wprowadza nowe rodzaje potencjalnych błędów.Często na przykład, dwa lub więcej wątków mają dostęp do tych samych zasób, ale tylko jeden wątek bezpiecznie można uzyskać dostęp do zasób w czasie.formularz niektóre wzajemne wykluczenie jest niezbędne upewnić się, że tylko jeden wątek uzyskuje dostęp do zasób w czasie.Jeżeli wzajemne wykluczenie jest wykonywane niepoprawnie, można utworzyć zakleszczenie warunek, gdy żaden wątek można wykonać.Zakleszczeń może być szczególnie mocno problem do debugować.

Visual Studio 2012zapewnia ulepszone wątkówokno, nowe wątki GPU okno, nowe równoległych Watch okno i inne ulepszeniainterfejs użytkownik, aby ułatwić debugowanie wielowątkowe. Najlepszym sposobem więcej informacji na temat nowych funkcji interfejs wątka jest wykonując instruktaże. See Instruktaż: Debugowanie aplikacji wielowątkowych and Instruktaż: Debugowanie aplikacji AMP C++.

Visual Studio oferuje zaawansowane punkty przerwania i tracepoints, które mogą być bardzo użyteczne, gdy jest debugować aplikacji wielowątkowych.Filtry punkt przerwania można użyć, aby umieszczać punkty przerwania w poszczególnych wątków.Patrz:Jak: Określ filtr przerwania

Debugowanie wielowątkowych aplikacji, która mainterfejs użytkownikmoże być szczególnie trudne. W takim przypadku należy rozważyć, na drugim komputerze z uruchomioną aplikacją i przy użyciu zdalny debugowanie.Aby uzyskać informacje, zobacz Instalator zdalnego debugowania.

W tej sekcji

Sekcje pokrewne

Zobacz też

Inne zasoby

Praca z wątków i procesów

Instalator zdalnego debugowania