Ladění a diagnostika služby Azure Cloud Services (rozšířená podpora) ve vývojovém prostředí Visual Studio
Visual Studio nabízí různé možnosti ladění Azure Cloud Services (rozšířená podpora) a virtuálních počítačů.
Požadavky
- Visual Studio (viz [Soubory ke stažení sady Visual Studio] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)) s nainstalovanou úlohou vývoje Azure a nainstalované šablony jednotlivých komponent šablony projektů a položek rozhraní .NET Framework. Viz Úpravasady Visual Studio .
- Účet Azure. Pokud nemáte účet Azure, aktivujte si výhody Azure pro předplatitele sady Visual Studio nebo zaregistrujte se k bezplatné zkušební verzi.
Ladění cloudové služby na místním počítači
Pomocí emulátoru služby Azure Compute můžete ušetřit čas a peníze a ladit cloudovou službu na místním počítači. Laděním služby před jejím nasazením můžete zvýšit spolehlivost a výkon bez placení za výpočetní čas. K některým chybám ale může dojít pouze v případě, že spouštíte cloudovou službu v Samotné Azure. Tyto chyby můžete ladit, pokud povolíte vzdálené ladění při publikování služby a pak připojíte ladicí program k instanci role.
Emulátor simuluje službu Azure Compute a běží ve vašem místním prostředí, abyste mohli před nasazením otestovat a ladit cloudovou službu. Emulátor zpracovává životní cyklus vašich instancí rolí a poskytuje přístup k simulovaným prostředkům, jako je místní úložiště. Při ladění nebo spuštění služby ze sady Visual Studio se emulátor automaticky spustí jako aplikace na pozadí a pak službu nasadí do emulátoru. Emulátor můžete použít k zobrazení služby při spuštění v místním prostředí. Můžete spustit plnou verzi nebo expresní verzi emulátoru. Viz Použití emulátoru Express ke spuštění a ladění cloudové služby místně.
Chcete-li debugovat vaši cloudovou službu na vašem místním počítači
Na nabídce vyberte Ladit>Spustit ladění pro spuštění vašeho projektu Azure Cloud Services (rozšířená podpora). Jako alternativu můžete stisknout klávesu F5. Zobrazí se zpráva, že se spouští emulátor výpočetních prostředků. Po spuštění emulátoru ho ikona na hlavním panelu potvrdí.
Zobrazte uživatelské rozhraní výpočetního emulátoru tím, že otevřete místní nabídku ikony Azure v oznamovací oblasti, a pak vyberte Zobrazit uživatelské rozhraní výpočetního emulátoru.
V levém podokně uživatelského rozhraní se zobrazují služby, které jsou aktuálně nasazené do emulátoru výpočetních prostředků, a instance rolí, na kterých je každá služba spuštěná. Službu nebo role můžete zvolit k zobrazení životního cyklu, protokolování a diagnostických informací v pravém podokně. Pokud umístíte kurzor na horní okraj zahrnutého okna, rozšíří se a vyplní pravé podokno.
Projděte si aplikaci výběrem příkazů v nabídce Ladění a nastavením bodů přerušení v kódu. Při procházení aplikace v ladicím programu se podokna aktualizují o aktuální stav aplikace. Když zastavíte ladění, nasazení aplikace se vymaže. Pokud vaše aplikace obsahuje webovou roli a nastavili jste vlastnost akce "Po spuštění" pro spuštění webového prohlížeče, Visual Studio spustí vaši webovou aplikaci v prohlížeči. Pokud změníte počet instancí role v konfiguraci služby, musíte zastavit cloudovou službu a poté restartovat ladění, abyste mohli tyto nové instance role ladit.
Poznámka
Když službu spustíte nebo ladíte a poté ji zastavíte, místní emulátor výpočetních prostředků a emulátor úložiště se nezastaví. Musíte je explicitně zastavit v oznamovací oblasti.
Ladění cloudové služby v Azure
Pokud povolíte vzdálené ladění cloudové služby pomocí postupu v této části, neprojeví se snížený výkon ani se vám nebudou účtovat další poplatky. Nepoužívejte vzdálené ladění v produkční službě, protože klienti, kteří tuto službu používají, mohou být nepříznivě ovlivněni.
Povolení vzdáleného ladění pro cloudovou službu (rozšířená podpora)
Přidejte koncový bod do ServiceDefinition.csdef pro výchozí port msvsmon. Pro Visual Studio 2019 je to 4024.
<Endpoints> <InputEndpoint name="RemoteDebug" protocol="tcp" port="4024" localPort="4024" /> </Endpoints>
Otevřete nabídku zkratek pro projekt Azure a pak vyberte Publikovat.
Vyberte prostředí Testovací a konfiguraci Ladění.
To je jen vodítko. Můžete se rozhodnout spustit testovací prostředí v produkčním prostředí. Pokud však povolíte vzdálené ladění v produkčním prostředí, může to mít nepříznivý vliv na uživatele. Můžete zvolit konfiguraci Release, ale konfigurace Debug usnadňuje ladění.
Postupujte podle obvyklých kroků popsaných v Cloud Services (rozšířená podpora), ale zaškrtněte políčko Povolit vzdálenou plochu pro všechny role.
Zobrazí se výzva k vytvoření uživatelského jména a hesla pro uživatele vzdálené plochy, které budete později potřebovat k přihlášení k danému virtuálnímu počítači.
Přejděte na další obrazovku, zkontrolujte nastavení a až budete připraveni, klikněte na Publikovat a počkejte na dokončení nasazení.
Přihlaste se Azure portal a přejděte na cloudovou službu (rozšířená podpora), kterou chcete ladit.
V levém podokně zvolte Role a instance a pak zvolte roli, kterou chcete vzdáleně ladit.
Klikněte na Připojit v rozevíracím seznamu Instance role napravo a poté zvolte tlačítko Připojit ke stažení souboru vzdálené plochy, který vám umožní přihlásit se k virtuálnímu počítači. Přihlaste se pomocí přihlašovacích údajů, které jste vytvořili, když jste povolili vzdálenou plochu v předchozím kroku.
Na vzdáleném virtuálním počítači Azure nainstalujte nástroje Visual Studio 2019 Remote Tools, jak je popsáno v vzdáleném ladění.
Z plochy na virtuálním počítači spusťte příkaz D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe. Nezapomeňte spustit jako správce.
Přijměte výzvy k povolení přístupu přes bránu firewall. Měla by se zobrazit zpráva oznamující, že msvsmon.exe začalo naslouchat pro připojení.
Na webu Azure Portal otevřete skupinu prostředků a získejte veřejnou IP adresu cloudové služby (rozšířená podpora).
Připojení ladicího programu ke cloudové službě (rozšířená podpora) v Azure
Poznámka
Kdykoli je to možné, měli byste ladit pomocí konfigurace Ladění zvolenou v procesu Publikovat, ale pokud ladíte konfiguraci Vydání, použijte v sadě Visual Studio Ctrl+Q k vyhledání "Jen můj kód" a zrušte zaškrtnutí políčka Povolit jen můj kód v Nástroje>Možnosti>Ladicí program>Obecné. Sestavení vydaných verzí jsou optimalizovaná, a proto se nepovažují za "Můj kód".
Zvolte Ladění>Připojit k procesu (nebo stiskněte Ctrl+Alt+P).
Zachovat typ připojení jako Výchozí.
Zadejte cíl připojení s použitím IP adresy a portu:
{ipaddress}:4024
.Nastavte Připojit k na Automatické.
Přihlaste se pomocí stejných přihlašovacích údajů jako uživatel vzdálené plochy.
Vyberte Zobrazit proces pro všechny uživatele. Pokud ladíte pracovní roli, připojte se k WaWorkerHost.exe; pokud ladíte roli webové aplikace, připojte se k procesu w3wp.exe; pro roli webového rozhraní API je to WaIISHost.exe.
Nastavte zarážky (přejděte na řádek a stiskněte F9), otevřete veřejnou URL adresu webu a reprodukujte scénář pro účely ladění.
Povolení vzdáleného ladění pro cloudovou službu (rozšířená podpora)
Přidejte koncový bod do ServiceDefinition.csdef pro výchozí port msvsmon. Pro Visual Studio 2022 to je 4026; pro Visual Studio 2019 je to 4024.
<Endpoints> <InputEndpoint name="RemoteDebug" protocol="tcp" port="4026" localPort="4026" /> </Endpoints>
Poznámka
Jiné verze sady Visual Studio používají různé porty přiřazení portů pro vzdálené ladění.
Pokud cílíte na .NET 4.8, nezapomeňte otevřít soubor ServiceConfiguration.Cloud.cscfg a zkontrolovat hodnotu atributu
osFamily
v elementuServiceConfiguration
při publikování Cloud Services (rozšířená podpora). Pro projekt .NET 4.8 použijteosFamily="7"
.Otevřete kontextovou nabídku projektu Azure a pak vyberte Publikovat.
Vyberte pracovní prostředí a konfiguraci Ladění.
To je pouze doporučení. Můžete se rozhodnout spustit testovací prostředí v produkčním prostředí. Pokud však povolíte vzdálené ladění v produkčním prostředí, může to mít nepříznivý vliv na uživatele. Můžete zvolit konfiguraci Release, ale konfigurace Debug usnadňuje ladění.
.
Postupujte podle obvyklých kroků popsaných v Cloud Services (rozšířená podpora), ale zaškrtněte políčko Povolit vzdálenou plochu pro všechny role.
Zobrazí se výzva k vytvoření uživatelského jména a hesla pro uživatele vzdálené plochy, které budete později potřebovat k přihlášení k danému virtuálnímu počítači.
Přejděte na další obrazovku, zkontrolujte nastavení a až budete připraveni, klikněte na Publikovat a počkejte na dokončení nasazení.
Přihlaste se do Azure Portal a přejděte na Cloud Service (rozšířená podpora), kterou chcete ladit.
V levém podokně zvolte Role a instance a pak zvolte roli, kterou chcete vzdáleně ladit.
Klikněte na Připojit v instanci role napravo a zvolte tlačítko Připojit k stažení souboru vzdálené plochy, který vám umožní přihlásit se k virtuálnímu počítači. Přihlaste se pomocí přihlašovacích údajů, které jste vytvořili, když jste povolili vzdálenou plochu v předchozím kroku.
Na vzdáleném virtuálním počítači Azure nainstalujte nástroje Visual Studio 2022 Remote Tools, jak je popsáno v vzdáleném ladění.
Z plochy na virtuálním počítači spusťte příkaz msvsmon.exe v instalační složce sady Visual Studio v části
Common7\IDE\Remote Debugger\x64
. Ujistěte se, že spouštíte jako správce.Přijměte výzvy k povolení přístupu přes bránu firewall. Měla by se zobrazit zpráva oznamující, že msvsmon.exe začalo naslouchat pro připojení.
Na webu Azure Portal otevřete skupinu prostředků a získejte veřejnou IP adresu cloudové služby (rozšířená podpora).
Připojení ladicího programu ke cloudové službě (rozšířená podpora) v Azure
Poznámka
Kdykoli je to možné, měli byste ladit pomocí konfigurace Ladění zvolenou v procesu Publikovat, ale pokud ladíte konfiguraci Vydání, použijte ve Visual Studio Ctrl+Q k vyhledání "Jen můj kód" a zrušte zaškrtnutí políčka Povolit pouze můj kód v Nástroje>Možnosti>Ladicí program>Obecné. Verze určené k vydání jsou optimalizované, a proto se nepovažují za "můj kód".
Zvolte Ladění>Připojit k Procesu (nebo stiskněte Ctrl+Alt+P).
Zachovat typ připojení jako Výchozí.
Zadejte cíl připojení s použitím IP adresy a portu:
{ipaddress}:4026
.Nastavte na Připojit k a na Automatické.
Přihlaste se pomocí stejných přihlašovacích údajů jako uživatel vzdálené plochy.
Vyberte Zobrazit proces pro všechny uživatele. Pokud ladíte pracovní roli, připojte se k WaWorkerHost.exe; pokud ladíte webovou roli, připojte se k procesu w3wp.exe; pro roli webového rozhraní API je to WaIISHost.exe.
Nastavte body přerušení (přejděte na řádek a stiskněte F9), přejděte na veřejnou adresu URL webu a pro ladění reprodukujte scénář.
Omezení vzdáleného ladění v Azure
Vzdálené ladění má následující omezení:
Pokud je povolené vzdálené ladění, nemůžete publikovat cloudovou službu, ve které má jakákoli role více než 25 instancí.
Ladicí program používá porty 30400 až 30424, 31400 až 31424 a 32400 až 32424. Pokud se pokusíte použít některý z těchto portů, nebudete moct službu publikovat a v protokolu aktivit pro Azure se zobrazí jedna z následujících chybových zpráv:
- Při ověřování souboru .cscfg v souboru .csdef došlo k chybě.
Rezervovaný rozsah portů 'range' pro koncový bod
Microsoft.WindowsAzure.PlugIns.RemoteDebugger.Connector
role 'role' se překrývá s již definovaným portem nebo rozsahem. - Přidělení se nezdařilo. Zkuste to znovu později, zkuste zmenšit velikost virtuálního počítače nebo počet instancí rolí nebo zkuste nasazení do jiné oblasti.
- Při ověřování souboru .cscfg v souboru .csdef došlo k chybě.
Rezervovaný rozsah portů 'range' pro koncový bod
Ladění služby Azure App Service
Programy, které běží ve službě Azure App Service, můžete ladit pomocí dialogového okna Připojit k procesu v sadě Visual Studio.
Poznámka
Tato možnost je dostupná jenom pro Službu Azure App Service počínaje sadou Visual Studio 2022 17.1.
Pro ladění služby Windows Azure App Service
V části Ladění vyberte Připojit k procesu.
Změňte typ připojení na Microsoft Azure App Services a pak vyberte Najít...
V dialogovém okně, které se otevře, vyberte název předplatného.
Poznámka
Musíte být přihlášení k účtu Microsoft s přístupem k předplatnému, které obsahuje vaši službu Azure App Service.
Vyfiltrujte zobrazení podle skupiny prostředků nebo typu prostředku nebo vyhledejte podle názvu.
Dále vyberte službu App Service, kterou chcete ladit, a pak vyberte OK.
To umožňuje vzdálené ladění ve službě App Service a zobrazí seznam dostupných procesů, ke kterým se můžeš připojit.
Vyberte proces, ke kterému se chcete připojit, a pak zvolte Připojit a začněte ladit.
Ladění virtuálních počítačů Azure
Programy, které běží na virtuálních počítačích Azure, můžete ladit pomocí Průzkumníka serveru v sadě Visual Studio. Když povolíte vzdálené ladění na virtuálním počítači Azure, Azure na virtuální počítač nainstaluje rozšíření vzdáleného ladění. Pak se můžete připojit k procesům na virtuálním počítači a ladit podle běžných postupů.
Poznámka
Virtuální počítače vytvořené prostřednictvím prostředí Azure Resource Manager mohou být vzdáleně laděny pomocí Cloudového průzkumníka ve Visual Studio 2019. Další informace najdete v tématu Správa prostředků Azure pomocí Průzkumníka cloudu.
Ladění virtuálního počítače Azure
V Průzkumníku serveru rozbalte uzel Virtuální počítače a vyberte uzel virtuálního počítače, který chcete ladit.
Otevřete místní nabídku a vyberte Povolit ladění. Pokud se zobrazí dotaz, jestli chcete povolit ladění na virtuálním počítači, vyberte Ano.
Azure nainstaluje rozšíření vzdáleného ladění na virtuální počítač, aby ladění bylo možné.
Po dokončení instalace rozšíření pro vzdálené ladění otevřete kontextovou nabídku virtuálního počítače a vyberte Připojit ladicí program...
Azure získá seznam procesů na virtuálním počítači a zobrazí je v dialogovém okně Připojit k procesu.
V dialogovém okně Připojit k procesu klikněte na Vyberte a omezte seznam výsledků tak, aby zobrazoval pouze typy kódu, které chcete ladit. Můžete ladit 32bitový nebo 64bitový spravovaný kód, nativní kód nebo obojí.
Zvolte procesy, které chcete ladit na virtuálním počítači, a pak vyberte Připojit. Pokud například chcete ladit webovou aplikaci na virtuálním počítači, můžete zvolit proces w3wp.exe. Další informace najdete v tématu Ladění jednoho nebo více procesů v sadě Visual Studio a architektury rolí Azure.
Vytvořte webový projekt a virtuální počítač pro ladění
Před publikováním projektu Azure může být užitečné ho otestovat v obsaženém prostředí, které podporuje scénáře ladění a testování a kde můžete nainstalovat testovací a monitorovací programy. Jedním ze způsobů, jak takové testy spustit, je vzdáleně ladit aplikaci na virtuálním počítači.
Projekty sady Visual Studio ASP.NET nabízejí možnost vytvořit praktický virtuální počítač, který můžete použít k testování aplikací. Virtuální počítač zahrnuje běžně potřebné koncové body, jako jsou PowerShell, Vzdálená plocha a WebDeploy.
Vytvoření webového projektu a virtuálního počítače pro ladění
V sadě Visual Studio vytvořte novou webovou aplikaci ASP.NET.
V dialogovém okně Nový ASP.NET Projekt, v části Azure, vyberte v rozevíracím seznamu Virtuální Počítač. Nechejte zaškrtnuté políčko Vytvořit vzdálené prostředky. Pokračujte výběrem OK.
Zobrazí se dialogové okno Vytvořit virtuální počítač v Azure.
Poznámka
Pokud ještě nejste přihlášení, zobrazí se výzva k přihlášení ke svému účtu Azure.
Zvolte různá nastavení pro virtuální počítač a pak vyberte OK. Další informace najdete v tématu virtuální počítače.
Název, který zadáte pro název DNS, bude název virtuálního počítače.
Azure vytvoří virtuální počítač a pak zřídí a nakonfiguruje koncové body, jako je Vzdálená plocha a Nasazení webu.
Po úplné konfiguraci virtuálního počítače vyberte uzel virtuálního počítače v Průzkumníku serveru.
Otevřete místní nabídku a vyberte Povolit ladění. Pokud se zobrazí dotaz, jestli chcete povolit ladění na virtuálním počítači, vyberte Ano.
Azure nainstaluje rozšíření vzdáleného ladění na virtuální počítač, aby bylo možné ladění povolit.
Publikujte projekt podle Postupy: Nasazení webového projektu pomocí One-Click Publikování v sadě Visual Studio. Protože chcete ladit na virtuálním počítači, na stránce Nastavení průvodce Publikování webu vyberte jako konfiguraci možnost Ladění. Tím zajistíte, že jsou při ladění k dispozici symboly kódu.
V Možnostech publikování souboruvyberte Odebrat další soubory v cílovém umístění, pokud byl projekt již nasazen dříve.
Po publikování projektu vyberte v místní nabídce virtuálního počítače v Průzkumníku serveru možnost Připojit ladicí program...
Azure získá seznam procesů na virtuálním počítači a zobrazí je v dialogovém okně Připojit k procesu.
V dialogovém okně Připojit k procesu zvolte možnost Vybrat a omezte seznam výsledků tak, aby zobrazoval pouze typy kódu, které chcete ladit. Můžete ladit 32bitový nebo 64bitový spravovaný kód, nativní kód nebo obojí.
Zvolte procesy, které chcete ladit na virtuálním počítači, a pak vyberte Připojit. Pokud například chcete ladit webovou aplikaci na virtuálním počítači, můžete zvolit proces w3wp.exe. Další informace najdete v tématu Ladění jednoho nebo více procesů v sadě Visual Studio.
Související obsah
Pomocí Azure Diagnostics zaznamenávat podrobné informace z kódu spuštěného v Azure v rámci rolí. Viz Shromažďování dat protokolování pomocí služby Azure Diagnostics.
Další scénáře vzdáleného ladění najdete v tématu vzdálené ladění.