Ladění služby Azure Cloud Services (rozšířená podpora) v sadě 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 [Stažení sady Visual Studio] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)) s nainstalovanou úlohou vývoje Pro Azure a nainstalovanými šablonami projektů a položek pro jednotlivé komponenty .NET Framework. Viz Úprava sady Visual Studio.
- Účet Azure. Pokud nemáte účet Azure, aktivujte si výhody Azure pro předplatitele sady Visual Studio nebo si zaregistrujte bezplatnou 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ě.
Ladění cloudové služby na místním počítači
Na řádku nabídek vyberte Spustit>ladění a spusťte projekt 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í emulátoru výpočetních prostředků tak, že otevřete místní nabídku ikony Azure v oznamovací oblasti a pak vyberte Zobrazit uživatelské rozhraní emulátoru výpočetních prostředků.
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 fokus na horní okraj zahrnutého okna, rozbalí se a vyplní pravé podokno.
Projděte si aplikaci tak, že v nabídce Ladění zvolíte příkazy a nastavíte zarážky 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 odstraní. 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 zastavíte nebo ladí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 souboru 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>
Poznámka:
Jiné verze sady Visual Studio mají různé porty Přiřazení portů vzdáleného ladicího programu.
Otevřete místní nabídku projektu Azure a pak vyberte Publikovat.
Vyberte přípravné prostředí 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 vydané verze, ale konfigurace ladění 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, až se nasazení dokončí.
Přihlaste se k webu Azure Portal a přejděte do cloudové služby (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 místní nabídce Instance role na pravé straně a zvolte tlačítko Připojit a stáhněte soubor 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 tématu Vzdálené ladění.
Na ploše virtuálního počítače 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čala naslouchat připojením.
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 s konfigurací ladění zvolenou v procesu publikování, ale pokud ladíte konfiguraci vydané verze, pak v sadě Visual Studio pomocí ctrl+Q vyhledejte "Jen můj kód" a zrušte zaškrtnutí políčka Povolit pouze můj kód v možnostech>nástroje>>Obecné. Sestavení vydaných verzí jsou optimalizovaná, a proto se nepovažují za "Můj kód".
Zvolte Připojit k procesu ladění>(nebo stiskněte kombinaci kláves Ctrl+Alt+P).
Ponechte typ připojení ve výchozím nastavení.
Zadejte cíl připojení s použitím IP adresy a portu:
{ipaddress}:4024
.Nastavte možnost Připojit k automatickému.
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 roli pracovního procesu, 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 zarážky (přejděte na řádek a stiskněte klávesu F9), přejděte k veřejné adrese URL webu a reprodukujte scénář pro ladění.
Povolení vzdáleného ladění pro cloudovou službu (rozšířená podpora)
Přidejte koncový bod do souboru 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 mají různé porty Přiřazení portů vzdáleného ladicího programu.
Pokud cílíte na .NET 4.8, nezapomeňte otevřít soubor ServiceConfiguration.Cloud.cscfg a zkontrolovat hodnotu atributu
osFamily
u elementuServiceConfiguration
při publikování Cloud Services (rozšířená podpora). Pro projekt .NET 4.8 použijteosFamily="7"
.Otevřete místní nabídku projektu Azure a pak vyberte Publikovat.
Vyberte přípravné prostředí 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 vydané verze, ale konfigurace ladění 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, až se nasazení dokončí.
Přihlaste se k webu Azure Portal a přejděte do cloudové služby (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 místní nabídce Instance role na pravé straně a zvolte tlačítko Připojit a stáhněte soubor 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 tématu Vzdálené 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
. 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čala naslouchat připojením.
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 s konfigurací ladění zvolenou v procesu publikování, ale pokud ladíte konfiguraci vydané verze, pak v sadě Visual Studio pomocí ctrl+Q vyhledejte "Jen můj kód" a zrušte zaškrtnutí políčka Povolit pouze můj kód v možnostech>nástroje>>Obecné. Sestavení vydaných verzí jsou optimalizovaná, a proto se nepovažují za "Můj kód".
Zvolte Připojit k procesu ladění>(nebo stiskněte kombinaci kláves Ctrl+Alt+P).
Ponechte typ připojení ve výchozím nastavení.
Zadejte cíl připojení s použitím IP adresy a portu:
{ipaddress}:4026
.Nastavte možnost Připojit k automatickému.
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 roli pracovního procesu, 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 zarážky (přejděte na řádek a stiskněte klávesu F9), přejděte k veřejné adrese URL webu a reprodukujte scénář pro ladě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ě.
Rozsah rezervovaných portů pro koncový bod
Microsoft.WindowsAzure.PlugIns.RemoteDebugger.Connector
role role role se překrývají s již definovaným portem nebo rozsahem. - Přidělení selhalo. 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ě.
Rozsah rezervovaných portů pro koncový bod
Ladění služby Aplikace Azure Service
Programy, které běží ve službě Aplikace Azure 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 Aplikace Azure od sady Visual Studio 2022 17.1.
Ladění služby Windows Aplikace Azure Service
V části Ladění vyberte Připojit k procesu.
Změňte typ připojení na Microsoft Aplikace Azure 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 Aplikace Azure Service.
Vyfiltrujte zobrazení podle skupiny prostředků nebo typu prostředku nebo vyhledejte podle názvu.
Pak 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é se mají připojit.
Vyberte proces, ke který chcete připojit, a pak zvolte Připojit , aby se spustilo ladění.
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 zásobníku Azure Resource Manageru je možné vzdáleně ladit pomocí Průzkumníka cloudu v sadě 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 bylo možné ladění povolit.
Po dokončení instalace rozšíření vzdáleného ladění otevřete místní 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 vyberte Vybrat, chcete-li omezit seznam výsledků, aby se zobrazily 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 architektuře rolí Azure.
Vytvoření webového projektu a virtuálního počítače 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č . Nechte zaškrtnuté políčko Vytvořit vzdálené prostředky . Pokračujte kliknutím na TLAČÍTKO 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í virtuálního počítače a pak vyberte OK. Další informace najdete v tématu Virtual Machines .
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 postupu : Nasazení webového projektu pomocí publikování jedním kliknutím v sadě Visual Studio. Vzhledem k tomu, že chcete ladit na virtuálním počítači, vyberte na stránce Nastavení průvodce publikováním webu možnost Ladit jako konfiguraci. Tím zajistíte, že jsou při ladění k dispozici symboly kódu.
V možnostech publikování souborů vyberte Odebrat další soubory v cíli, pokud byl projekt již dříve nasazený.
Po publikování projektu v místní nabídce virtuálního počítače v Průzkumníku serveru 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 vyberte Vybrat, chcete-li omezit seznam výsledků, aby se zobrazily 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 můžete protokolovat podrobné informace z kódu spuštěného v rámci rolí v Azure. Viz Shromažďování dat protokolování pomocí azure Diagnostics.
Další scénáře vzdáleného ladění najdete v tématu Vzdálené ladění.