Udostępnij za pośrednictwem


Debuguj aplikacje wielowątkowe w programie Visual Studio

Wątek jest sekwencję instrukcji, do których system operacyjny przydziela czas procesora.Każdy proces, który działa w systemie operacyjnym składa się z co najmniej jeden wątek.Procesy, które mają więcej niż jeden wątek są nazywane wielowątkowych.

Komputery z wieloma procesorów wielordzeniowych procesorów lub procesy wielowątkowość może działać wiele wątków w tym samym czasie.Przetwarzanie równoległe wiele wątków może znacznie poprawić wydajność programu, ale może również wprowadzać debugowanie trudniejsze ponieważ wprowadza ona konieczność, aby śledzić wiele wątków.

Ponadto wielowątkowości wprowadzono kilka nowych typów potencjalne błędy.Często na przykład, co najmniej dwa wątki mieć dostępu do tego samego zasobu, ale tylko jeden wątek można bezpiecznie uzyskać dostęp do zasobu w danym czasie.Jakiegoś wzajemne wykluczenie jest niezbędne upewnić się, że tylko jeden wątek uzyskuje dostęp do zasobu w danym czasie.W przypadku wykluczenia wzajemnego jest niepoprawnie można utworzyć zakleszczenie warunku, gdzie można wykonywać nie wątków.Zakleszczenia może być problem szczególnie trudne do debugowania.

Visual Studio 2012udostępnia udoskonalone wątki okna, w nowym oknie GPU wątków, w nowym oknie równoległe obserwowanych i innych użytkowników na interfejsie ulepszenia dokonanie ułatwia debugowanie wielowątkowe. To najlepszy sposób, aby więcej informacji na temat nowych funkcji interfejsu wątków wykonując przewodniki.Zobacz Wskazówki: Debugowanie aplikacji wielowątkowych i Wskazówki: debugowanie aplikacji C++ AMP.

Program Visual Studio oferuje także zaawansowanych przerwania i tracepoints, które mogą być przydatne podczas debugowania aplikacji wielowątkowych.Filtry punkt przerwania służy do umieszczenia w wątkach poszczególnych punktów przerwania.Zobacz Punkty przerwania: korzystanie z liczby trafień, funkcje stosu wywołań oraz warunki przerywania w wybranym miejscu i czasie w debugerze Visual Studio.

Debugowanie wielowątkowe aplikacji, która ma interfejs użytkownika może być szczególnie trudne.W takim przypadku można rozważyć uruchomił aplikację na innym komputerze i przy użyciu zdalnego debugowania.Aby uzyskać informacje, zobacz Zdalne debugowanie i diagnostyka.

W tej sekcji

Sekcje pokrewne

Zobacz też

Inne zasoby

Debugowanie wątków i procesów w Visual Studio

Zdalne debugowanie i diagnostyka