Ladění vícevláknových aplikací v sadě Visual Studio
Vlákno je posloupnosti pokynů, které operační systém přiděluje čas procesoru.Každý proces, který je spuštěn v operačním systému se skládá z alespoň jedno vlákno.Procesy, které mají více než jedno vlákno se nazývají ve více vláknech.
Počítače s více procesorů, více jádry nebo hyperthreading procesy lze současně spustit více vláken.Paralelní zpracování z více vláken může výrazně zlepšit výkon aplikace, ale také může být ladění obtížnější vzhledem k tomu, že by to zavedlo potřeby můžete sledovat více vláken.
Kromě toho multithreadingu zavádí některé nových typů případné chyby.Často, například dvě nebo více vlákna mají přístup ke stejným zdroji, ale pouze jedno vlákno může bezpečně přístup k prostředku v čase.Určitou formu vzájemné vyloučení je nezbytné, abyste měli jistotu, že pouze jedno vlákno je přístup k prostředku najednou.Je-li vzájemné vyloučení je prováděno nesprávně, můžete vytvořit zablokování podmínku, kde můžete provést žádné vlákno.Zablokování může být zvláště pevný problém pro ladění.
Visual Studio 2012poskytuje lepší vlákna okno, v novém okně GPU vlákna, nové paralelní kukátka a jiným uživatelem rozhraní vylepšení, aby ve více vláknech, usnadňuje ladění. Nejlepší způsob, jak získat informace o nových funkcích rozhraní vláken je provedením návody.Viz Návod: Ladění vícevláknové aplikace a Návod: Ladění aplikace C++ AMP.
Visual Studio také poskytuje výkonné zarážek a tracepoints, což může být velmi užitečné při ladění aplikací s více vlákny.Filtry zarážky můžete nastavovat zarážky na jednotlivá vlákna.Další informace naleznete v tématu Zarážky: Použití počtu volání, funkcí zásobníku volání a podmínek k libovolnému přerušení v ladicím programu sady Visual Studio.
Ladění ve více vláknech aplikace, která má uživatelské rozhraní může být zvláště složité.V takovém případě byste zvážit spuštění aplikace v druhém počítači a pomocí vzdálené ladění.Informace naleznete v tématu Vzdálené ladění a diagnostika.
V tomto oddíle
Postupy: Použití okna vláken
Užitečné postupy pro ladění vlákna s vlákna okna.Postupy: Přepnutí na jiné vlákno během ladění
Tři způsoby, jak přepnout kontext ladění do jiného vlákna.Postupy: Označení a odstranění označení vlákna
Značka nebo příznak vlákna, které chcete udělit zvláštní pozornost při ladění.Postupy: Nastavení názvu vlákna v nativním kódu
Zadejte název, který můžete zobrazit v umístění vlákna vlákna okna.Postupy: Nastavení názvu vlákna ve spravovaném kódu
Zadejte název, který můžete zobrazit v umístění vlákna vlákna okna.Návod: Ladění vícevláknové aplikace .
Seznámení vlákno ladění funkce s důrazem na funkce, jak do Visual Studio 2008.Postupy: Ladění na klastru s vysokým výkonem
Techniky pro ladění aplikace, která se spouští na vysoce výkonná clusteru.Tipy k ladění vláken v nativním kódu
Jednoduché techniky, které může být užitečná pro ladění nativní vlákna.Používání okna úloh
Zobrazí seznam všech objektů spravovaným nebo nativním úloh, včetně jejich stavu a další užitečné informace.Použití okna Paralelní zásobníky
Zobrazí volání zásobníky s více vlákny (nebo úlohy) v jednom zobrazení a také spojí zásobníku segmentů, které jsou společné mezi vlákna (nebo úlohy).Návod: Ladění paralelní aplikace
Návod, který ukazuje, jak lze pomocí systému windows paralelní úkoly a Paralelní zásobníky.Postupy: Použití okna paralelního sledování
Zkontrolujte hodnoty a výrazy v rámci více vláken.Postupy: Použití okna vláken GPU
Zkontrolujte a práce s vlákny, které jsou spuštěny v GPU během ladění.
Související oddíly
-
Pomocí filtrů zarážky, když chcete nastavovat zarážky na jednotlivé vlákno.
Tracepoints vám umožňují k trasování provádění váš program bez ukončování řádků.To může být užitečné pro zkoumání problémů, jako jsou zablokování.
Dělení na spravovaná vlákna
Práce s podprocesy konceptů v .NET Framework programování, včetně příklad kódu.Použití více vláken v komponentách
Jak lze pomocí multithreadingu v .NET Framework součásti.Podpora více vláken ve starším kódu (Visual C++)
Práce s podprocesy konceptů a příklady kódu pro programátory C++ pomocí MFC.