Sdílet prostřednictvím


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

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

  1. 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í.

    Azure emulátor v systémovém hlavním panelu

  2. 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.

  3. 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)

  1. 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>
    

    Poznámka

    Jiné verze sady Visual Studio mají jiná přiřazení portů pro vzdálené ladění .

  2. Otevřete nabídku zkratek pro projekt Azure a pak vyberte Publikovat.

  3. 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í.

    Zvolte konfiguraci ladění.

  4. 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.

  5. Přejděte na další obrazovku, zkontrolujte nastavení a až budete připraveni, klikněte na Publikovat a počkejte na dokončení nasazení.

  6. Přihlaste se Azure portal a přejděte na cloudovou službu (rozšířená podpora), kterou chcete ladit.

  7. V levém podokně zvolte Role a instance a pak zvolte roli, kterou chcete vzdáleně ladit.

  8. 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.

    Snímek obrazovky znázorňující rozbalovací okno instance role s možností připojení

  9. 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í.

  10. 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.

  11. 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í.

  12. Na webu Azure Portal otevřete skupinu prostředků a získejte veřejnou IP adresu cloudové služby (rozšířená podpora).

    snímek obrazovky ukazující, kde najít veřejnou IP adresu cloudové služby

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".

  1. Zvolte Ladění>Připojit k procesu (nebo stiskněte Ctrl+Alt+P).

  2. Zachovat typ připojení jako Výchozí.

  3. Zadejte cíl připojení s použitím IP adresy a portu: {ipaddress}:4024.

  4. Nastavte Připojit k na Automatické.

  5. Přihlaste se pomocí stejných přihlašovacích údajů jako uživatel vzdálené plochy.

  6. 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.

  7. 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)

  1. 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í.

  2. Pokud cílíte na .NET 4.8, nezapomeňte otevřít soubor ServiceConfiguration.Cloud.cscfg a zkontrolovat hodnotu atributu osFamily v elementu ServiceConfiguration při publikování Cloud Services (rozšířená podpora). Pro projekt .NET 4.8 použijte osFamily="7".

  3. Otevřete kontextovou nabídku projektu Azure a pak vyberte Publikovat.

  4. 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í.

    Zvolte konfiguraci ladění .

  5. 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.

  6. Přejděte na další obrazovku, zkontrolujte nastavení a až budete připraveni, klikněte na Publikovat a počkejte na dokončení nasazení.

  7. Přihlaste se do Azure Portal a přejděte na Cloud Service (rozšířená podpora), kterou chcete ladit.

  8. V levém podokně zvolte Role a instance a pak zvolte roli, kterou chcete vzdáleně ladit.

  9. 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.

    Snímek obrazovky znázorňující vyskakovací okno instance role s možností Připojit

  10. 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í.

  11. 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.

  12. 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í.

    snímek obrazovky ukazující, že msvsmon.exe naslouchá pro připojení

  13. Na webu Azure Portal otevřete skupinu prostředků a získejte veřejnou IP adresu cloudové služby (rozšířená podpora).

    snímek obrazovky ukazující, kde najít veřejnou IP adresu cloudové služby

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".

  1. Zvolte Ladění>Připojit k Procesu (nebo stiskněte Ctrl+Alt+P).

  2. Zachovat typ připojení jako Výchozí.

  3. Zadejte cíl připojení s použitím IP adresy a portu: {ipaddress}:4026.

  4. Nastavte na Připojit k a na Automatické.

  5. Přihlaste se pomocí stejných přihlašovacích údajů jako uživatel vzdálené plochy.

  6. 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.

  7. 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.

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

  1. V části Ladění vyberte Připojit k procesu.

  2. Změňte typ připojení na Microsoft Azure App Services a pak vyberte Najít...

  3. V dialogovém okně, které se otevře, vyberte název předplatného.

    snímek obrazovky s dialogovým oknem Vybrat službu Azure App Service a seznamem aplikačních služeb, které chcete vybrat

    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.

  4. Vyfiltrujte zobrazení podle skupiny prostředků nebo typu prostředku nebo vyhledejte podle názvu.

  5. 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.

    Snímek obrazovky okna Připojení k procesu, který zobrazuje procesy spuštěné ve vybrané službě App Service.

  6. 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

  1. V Průzkumníku serveru rozbalte uzel Virtuální počítače a vyberte uzel virtuálního počítače, který chcete ladit.

  2. 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é.

    příkaz pro povolení ladění virtuálního stroje

    protokol aktivit Azure

  3. 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.

    Připojit příkaz ladicího programu

  4. 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í.

    Vybrat typ kódu dialogové okno

  5. 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í

  1. V sadě Visual Studio vytvořte novou webovou aplikaci ASP.NET.

  2. 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.

    Vytvořit dialogové okno pro webový projekt ASP.NET

    Poznámka

    Pokud ještě nejste přihlášení, zobrazí se výzva k přihlášení ke svému účtu Azure.

  3. 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.

    dialogové okno Vytvořit virtuální počítač v Azure

    Azure vytvoří virtuální počítač a pak zřídí a nakonfiguruje koncové body, jako je Vzdálená plocha a Nasazení webu.

  4. Po úplné konfiguraci virtuálního počítače vyberte uzel virtuálního počítače v Průzkumníku serveru.

  5. 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.

    Virtuální stroj příkaz pro povolení ladění

    Azure protokol aktivit

  6. 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.

    nastavení publikování

  7. V Možnostech publikování souboruvyberte Odebrat další soubory v cílovém umístění, pokud byl projekt již nasazen dříve.

  8. 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.

    Připojit příkaz ladicího programu

  9. 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í.

    Dialogové okno pro výběr typu kódu

  10. 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.