Aktivace událostí pozastavení, obnovení a pozadí při ladění aplikací pro UPW v sadě Visual Studio
Pokud neladíte, správa doby životnosti procesu Windows (PLM) řídí stav spuštění aplikace – spuštění, pozastavení, obnovení a ukončení aplikace v reakci na akce uživatele a stav zařízení. Při ladění systém Windows tyto aktivační události zakáže. Toto téma popisuje, jak tyto události aktivovat v ladicím programu.
Toto téma také popisuje, jak ladit úlohy na pozadí. Úlohy na pozadí umožňují provádět určité operace v procesu na pozadí, i když vaše aplikace není spuštěná. Ladicí program můžete použít k umístění aplikace do režimu ladění a pak bez spuštění uživatelského rozhraní spustit a ladit úlohu na pozadí.
Další informace o správě životnosti procesů a úlohách na pozadí najdete v tématu Spouštění, obnovení a multitasking.
Aktivace událostí správy doby života procesu
Systém Windows může aplikaci pozastavit, když uživatel přepne mimo aplikaci nebo když windows přejde do stavu nízkého výkonu. Na událost můžete reagovat tak Suspending
, že uložíte relevantní data aplikace a uživatelů do trvalého úložiště a uvolníte prostředky. Když se aplikace obnoví ze stavu Pozastaveno , přejde do stavu Spuštěno a pokračuje tam, kde byla pozastavena. Na událost můžete reagovat Resuming
tak, že obnovíte nebo aktualizujete stav aplikace a uvolníte prostředky.
I když se Windows pokouší zachovat co nejvíce pozastavených aplikací v paměti, Windows může ukončit vaši aplikaci, pokud není dostatek prostředků k tomu, aby byla v paměti. Uživatel může aplikaci také explicitně zavřít. Neexistuje žádná zvláštní událost, která značí, že uživatel zavřel aplikaci.
V ladicím programu sady Visual Studio můžete ručně pozastavit, obnovit a ukončit aplikace a ladit události životního cyklu procesu. Ladění události životního cyklu procesu:
Nastavte zarážku v obslužné rutině události, kterou chcete ladit.
Stisknutím klávesy F5 spusťte ladění.
Na panelu nástrojů Umístění ladění zvolte událost, kterou chcete aktivovat:
Pozastaví a ukončí aplikaci a ukončí ladicí relaci.
Aktivace úloh na pozadí
Každá aplikace může zaregistrovat úlohu na pozadí, aby reagovala na určité systémové události, i když aplikace není spuštěná. Úlohy na pozadí nemůžou spouštět kód, který přímo aktualizuje uživatelské rozhraní; místo toho uživatelům zobrazují informace s aktualizacemi dlaždic, aktualizacemi odznáčku a informačními zprávami. Další informace najdete v tématu Podpora aplikace pomocí úloh na pozadí.
Události, které spouští úlohy na pozadí pro vaši aplikaci, můžete aktivovat z ladicího programu.
Poznámka:
Ladicí program může aktivovat pouze události, které neobsahují data, například události označující změnu stavu v zařízení. Musíte ručně aktivovat úlohy na pozadí, které vyžadují uživatelský vstup nebo jiná data.
Nejrealističtější způsob, jak aktivovat událost úlohy na pozadí, je, když vaše aplikace není spuštěná. Aktivace události ve standardní relaci ladění se ale podporuje také.
Aktivace události úlohy na pozadí ze standardní ladicí relace
Nastavte zarážku v kódu úlohy na pozadí, který chcete ladit.
Stisknutím klávesy F5 spusťte ladění.
V seznamu událostí na panelu nástrojů Umístění ladění zvolte úlohu na pozadí, kterou chcete spustit.
Aktivace úlohy na pozadí, když aplikace není spuštěná
Nastavte zarážku v kódu úlohy na pozadí, který chcete ladit.
Otevřete stránku vlastností ladění pro počáteční projekt. V Průzkumník řešení vyberte projekt. V nabídce Ladění zvolte Vlastnosti.
V případě projektů C++ rozbalte položku Vlastnosti konfigurace a pak zvolte Ladění.
Proveďte některou z následujících akcí:
V případě projektů Visual C# a Visual Basic zvolte Nespouštět, ale při spuštění ladit můj kód
V případě projektů C++ zvolte v seznamu Spustit aplikaci možnost Ne.
Stisknutím klávesy F5 umístěte aplikaci do režimu ladění. Všimněte si, že seznam proces na panelu nástrojů Umístění ladění zobrazuje název balíčku aplikace, který označuje, že jste v režimu ladění.
V seznamu událostí na panelu nástrojů Umístění ladění zvolte úlohu na pozadí, kterou chcete spustit.
Aktivace událostí správy doby života procesu a úloh na pozadí z nainstalované aplikace
Pomocí dialogového okna Ladění nainstalovaného balíčku aplikace načtěte aplikaci, která je již nainstalována do ladicího programu. Můžete například ladit aplikaci nainstalovanou z Microsoft Storu nebo ladit aplikaci, pokud máte zdrojové soubory aplikace, ale ne projekt sady Visual Studio pro aplikaci. Dialogové okno Ladění nainstalovaného balíčku aplikace umožňuje spustit aplikaci v režimu ladění na počítači se sadou Visual Studio nebo na vzdáleném zařízení nebo nastavit aplikaci tak, aby běžela v režimu ladění, ale ne v režimu ladění. Další informace najdete v tématu Ladění nainstalovaného balíčku aplikace.
Jakmile se aplikace načte do ladicího programu, můžete použít některý z výše popsaných postupů.
Diagnostika chyb aktivace úloh na pozadí
Diagnostické protokoly ve Windows Prohlížeč událostí infrastruktury na pozadí obsahují podrobné informace, které můžete použít k diagnostice a řešení chyb úloh na pozadí. Zobrazení protokolu:
Otevřete aplikaci Prohlížeč událostí.
V podokně Akce zvolte Zobrazit a ujistěte se, že je zaškrtnuté políčko Zobrazit analytické protokoly a protokoly ladění.
Ve stromu Prohlížeč událostí (místní) rozbalte uzly Aplikace a služby protokoly>Microsoft>Windows>BackgroundTasksInfrastructure.
Zvolte diagnostický protokol.