Dela via


Felsöka en Azure Cloud Services-tjänst (utökad support) i Visual Studio

Visual Studio ger dig olika alternativ för felsökning av Azure Cloud Services (utökad support) och virtuella datorer.

Förutsättningar

Felsöka molntjänsten på den lokala datorn

Du kan spara tid och pengar med hjälp av Azure Compute-emulatorn för att felsöka din molntjänst på en lokal dator. Genom att felsöka en tjänst lokalt innan du distribuerar den kan du förbättra tillförlitligheten och prestandan utan att betala för beräkningstiden. Vissa fel kan dock bara inträffa när du kör en molntjänst i själva Azure. Du kan felsöka dessa fel om du aktiverar fjärrfelsökning när du publicerar tjänsten och sedan kopplar felsökningsprogrammet till en rollinstans.

Emulatorn simulerar Azure Compute-tjänsten och körs i din lokala miljö så att du kan testa och felsöka molntjänsten innan du distribuerar den. Emulatorn hanterar livscykeln för dina rollinstanser och ger åtkomst till simulerade resurser, till exempel lokal lagring. När du felsöker eller kör tjänsten från Visual Studio startar den automatiskt emulatorn som ett bakgrundsprogram och distribuerar sedan tjänsten till emulatorn. Du kan använda emulatorn för att visa tjänsten när den körs i den lokala miljön. Du kan köra den fullständiga versionen eller expressversionen av emulatorn. Se Använda Emulator Express för att köra och felsöka en molntjänst lokalt.

Så här felsöker du molntjänsten på den lokala datorn

  1. På menyraden väljer du Felsöka>Starta felsökning för att köra ditt Azure Cloud Services-projekt (utökad support). Alternativt kan du trycka på F5. Du ser ett meddelande om att Beräkningsemulatorn startas. När emulatorn startar bekräftar ikonen för systemfältet den.

    Azure-emulator i systemfältet

  2. Visa användargränssnittet för beräkningsemulatorn genom att öppna snabbmenyn för Azure-ikonen i meddelandefältet och välj sedan Visa beräkningsemulatorns användargränssnitt.

    I det vänstra fönstret i användargränssnittet visas de tjänster som för närvarande distribueras till beräkningsemulatorn och rollinstanserna som varje tjänst kör. Du kan välja tjänsten eller rollerna för att visa livscykel, loggning och diagnostikinformation i den högra rutan. Om du placerar fokus i den övre marginalen i ett inkluderat fönster expanderas det för att fylla det högra fönstret.

  3. Stega igenom programmet genom att välja kommandon på Debug-menyn och ange brytpunkter i din kod. När du går igenom programmet i felsökningsprogrammet uppdateras fönstren med programmets aktuella status. När du slutar felsöka tas applikationsdistributionen bort. Om ditt program innehåller en webbroll och du har ställt in startåtgärdsegenskapen för att starta webbläsaren startar Visual Studio ditt webbprogram i webbläsaren. Om du ändrar antalet instanser av en roll i tjänstkonfigurationen måste du stoppa molntjänsten och sedan starta om felsökningen så att du kan felsöka de nya instanserna av rollen.

    Obs

    När du slutar köra eller felsöka tjänsten stoppas inte den lokala beräkningsemulatorn och lagringsemulatorn. Du måste uttryckligen stoppa dem från meddelandefältet.

Felsöka en molntjänst i Azure

Om du aktiverar fjärrfelsökning för en molntjänst med hjälp av proceduren i det här avsnittet visas inte försämrade prestanda eller medför ytterligare avgifter. Använd inte fjärrfelsökning på en produktionstjänst eftersom klienter som använder tjänsten kan påverkas negativt.

Aktivera fjärrfelsökning för en molntjänst (utökad support)

  1. Lägg till en slutpunkt i ServiceDefinition.csdef- för standardporten msvsmon. För Visual Studio 2019 är det 4024.

    <Endpoints>
       <InputEndpoint name="RemoteDebug" protocol="tcp" port="4024" localPort="4024" />
    </Endpoints>
    

    Not

    Andra versioner av Visual Studio har olika portar Porttilldelningar för fjärrfelsökare.

  2. Öppna snabbmenyn för Azure-projektet och välj sedan Publicera.

  3. Välj miljön Staging och konfigurationen Debug.

    Det här är bara en riktlinje. Du kan välja att köra dina testmiljöer i en produktionsmiljö. Du kan dock påverka användarna negativt om du aktiverar fjärrfelsökning i produktionsmiljön. Du kan välja versionskonfigurationen, men felsökningskonfigurationen gör felsökning enklare.

    Välj felsökningskonfigurationen.

  4. Följ de vanliga stegen som beskrivs i Cloud Services (utökad support), men markera kryssrutan Aktivera fjärrskrivbord för alla roller.

    Du uppmanas att skapa ett användarnamn och lösenord för fjärrskrivbordsanvändaren, som du behöver senare för att logga in på den virtuella datorn.

  5. Gå vidare till nästa skärm, granska inställningarna och klicka Publicera och vänta tills distributionen är klar.

  6. Logga in på Azure-portalen och navigera till den molntjänst (utökad support) som du vill felsöka.

  7. Välj roller och instanser i det vänstra fönstret och välj sedan den roll som du är intresserad av att felsöka via fjärranslutning.

  8. Klicka på Anslut i popup-fönstret rollinstans till höger och välj knappen Anslut för att ladda ned en fjärrskrivbordsfil som gör att du kan logga in på den virtuella datorn. Logga in med de autentiseringsuppgifter som du skapade när du aktiverade fjärrskrivbord i ett tidigare steg.

    Skärmbild som visar popup-fönstret rollinstans med alternativet Anslut.

  9. På den virtuella fjärrdatorn i Azure installerar du Visual Studio 2019 Remote-verktygen enligt beskrivningen i Fjärrfelsökning.

  10. Från skrivbordet på den virtuella datorn kör du kommandot D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe. Se till att köra som administratör.

  11. Acceptera uppmaningar om att tillåta åtkomst via brandväggen. Du bör se ett meddelande som anger att msvsmon.exe har börjat lyssna efter anslutningar.

  12. Öppna resursgruppen i Azure-portalen och hämta den offentliga IP-adressen för molntjänsten (utökad support).

    Skärmbild som visar var du hittar den offentliga IP-adressen för molntjänsten.

Så här kopplar du felsökningsprogrammet till en molntjänst (utökad support) i Azure

Not

När det är möjligt bör du felsöka med konfigurationen Debug som valts i Publiceringsprocessen, men om du felsöker en Release-konfiguration använder du Ctrl+Q i Visual Studio för att söka efter "Just My Code" och avmarkera Enable Just My Code i Tools>Options>Debugger>General. Release-byggen är optimerade och betraktas därför inte som "Min kod".

  1. Välj Felsök>Koppla till process (eller tryck på Ctrl+Alt+P).

  2. Behåll anslutningstypen på Standard.

  3. Ange anslutningsmålet med din IP-adress och port: {ipaddress}:4024.

  4. Ange Koppla till till Automatisk.

  5. Logga in med samma autentiseringsuppgifter som fjärrskrivbordsanvändare.

  6. Välj Visa process för alla användare. Om du felsöker en arbetsroll kopplar du till WaWorkerHost.exe; Om du felsöker en webbroll ansluter du till w3wp.exe processen. för en webb-API-roll är det WaIISHost.exe.

  7. Ange brytpunkter (navigera till raden och tryck på F9), öppna webbplatsens offentliga URL och återskapa scenariot för felsökning.

Aktivera fjärrfelsökning för en molntjänst (utökad support)

  1. Lägg till en slutpunkt i ServiceDefinition.csdef- för standardporten msvsmon. För Visual Studio 2022 är det 4026; för Visual Studio 2019 är det 4024.

    <Endpoints>
       <InputEndpoint name="RemoteDebug" protocol="tcp" port="4026" localPort="4026" />
    </Endpoints>
    

    Notera

    Andra versioner av Visual Studio har olika portar Porttilldelningar för fjärrfelsökare.

  2. Om du riktar in dig på .NET 4.8 måste du öppna filen ServiceConfiguration.Cloud.cscfg och kontrollera värdet för attributet osFamilyServiceConfiguration-elementet när du publicerar Cloud Services (utökat stöd). För ett .NET 4.8-projekt använder du osFamily="7".

  3. Öppna snabbmenyn för Azure-projektet och välj sedan Publicera.

  4. Välj miljön Mellanlagring och konfigurationen Felsökning.

    Det här är bara en riktlinje. Du kan välja att köra dina testmiljöer i en produktionsmiljö. Du kan dock påverka användarna negativt om du aktiverar fjärrfelsökning i produktionsmiljön. Du kan välja versionskonfigurationen, men felsökningskonfigurationen gör felsökning enklare.

    Välj felsökningskonfigurationen

  5. Följ de vanliga stegen som beskrivs i Cloud Services (utökad support), men markera kryssrutan Aktivera fjärrskrivbord för alla roller.

    Du uppmanas att skapa ett användarnamn och lösenord för fjärrskrivbordsanvändaren, som du behöver senare för att logga in på den virtuella datorn.

  6. Gå vidare till nästa skärm, granska inställningarna och klicka Publicera och vänta tills distributionen är klar.

  7. Logga in på Azure-portalen och navigera till den molntjänst (utökad support) som du vill felsöka.

  8. Välj roller och instanser i det vänstra fönstret och välj sedan den roll som du är intresserad av att felsöka via fjärranslutning.

  9. Klicka på Anslut i popup-fönstret rollinstans till höger och välj knappen Anslut för att ladda ned en fjärrskrivbordsfil som gör att du kan logga in på den virtuella datorn. Logga in med de autentiseringsuppgifter som du skapade när du aktiverade fjärrskrivbord i ett tidigare steg.

    Skärmdump som visar rollinstansens popupfönster med alternativet Anslut.

  10. På den virtuella fjärrdatorn i Azure installerar du Visual Studio 2022 Remote-verktygen enligt beskrivningen i Fjärrfelsökning.

  11. Från skrivbordet på den virtuella datorn kör du kommandot msvsmon.exe i Visual Studio-installationsmappen under Common7\IDE\Remote Debugger\x64. Se till att köra som administratör.

  12. Acceptera uppmaningar om att tillåta åtkomst via brandväggen. Du bör se ett meddelande som anger att msvsmon.exe har börjat lyssna efter anslutningar.

    Skärmbild som visar att msvsmon.exe lyssnar efter anslutningar.

  13. Öppna resursgruppen i Azure-portalen och hämta den offentliga IP-adressen för molntjänsten (utökad support).

    Skärmbild som visar var du hittar den offentliga IP-adressen för molntjänsten.

Så här kopplar du felsökningsprogrammet till en molntjänst (utökad support) i Azure

Anteckning

När det är möjligt bör du felsöka med konfigurationen Debug som valts i publiceringsprocessen Publish, men om du felsöker en Release-konfiguration, använd då Ctrl+Q i Visual Studio för att söka efter "Just My Code" och avmarkera alternativet Aktivera Just My Code i Verktyg>Alternativ>Debugger>Allmänt. Släppversioner är optimerade och räknas därför inte som "Min kod".

  1. Välj Felsök>Koppla till process (eller tryck på Ctrl+Alt+P).

  2. Behåll anslutningstypen på Standard.

  3. Ange anslutningsmålet med din IP-adress och port: {ipaddress}:4026.

  4. Ställ in att koppla till automatiskt.

  5. Logga in med samma autentiseringsuppgifter som fjärrskrivbordsanvändare.

  6. Välj Visa process för alla användare. Om du felsöker en arbetsroll kopplar du till WaWorkerHost.exe; Om du felsöker en webbroll ansluter du till w3wp.exe processen. för en webb-API-roll är det WaIISHost.exe.

  7. Ange brytpunkter (navigera till raden och tryck på F9), öppna webbplatsens offentliga URL och återskapa scenariot för felsökning.

Begränsningar för fjärrfelsökning i Azure

Fjärrfelsökning har följande begränsningar:

  • Med fjärrfelsökning aktiverat kan du inte publicera en molntjänst där någon roll har fler än 25 instanser.

  • Felsökningsprogrammet använder portarna 30400 till 30424, 31400 till 31424 och 32400 till 32424. Om du försöker använda någon av dessa portar kommer du inte att kunna publicera tjänsten, och ett av följande felmeddelanden visas i aktivitetsloggen för Azure:

    • Det gick inte att verifiera .cscfg-filen mot .csdef-filen. Det reserverade portintervallet 'range' för slutpunkt Microsoft.WindowsAzure.PlugIns.RemoteDebugger.Connector av rollen 'role' överlappar med en redan definierad port eller intervall.
    • Allokeringen misslyckades. Försök igen senare, försök att minska storleken på den virtuella datorn eller antalet rollinstanser eller prova att distribuera till en annan region.

Felsöka Azure App Service

Du kan felsöka program som körs i Azure App Service med hjälp av dialogrutan Bifoga till process i Visual Studio.

Anteckning

Detta är endast tillgängligt för Azure App Service från och med Visual Studio 2022 17.1.

Så här felsöker du en Windows Azure App Service

  1. Under Felsökväljer du Koppla till process.

  2. Ändra Anslutningstyp till Microsoft Azure App Servicesoch välj sedan Sök...

  3. I dialogrutan som öppnas väljer du Prenumerationsnamn.

    Skärmbild av dialogrutan Välj Azure App Service som visar en lista över apptjänster som ska väljas.

    Anteckning

    Du måste vara inloggad på ett Microsoft-konto med åtkomst till den prenumeration som innehåller din Azure App Service.

  4. Filtrera vyn efter resursgrupp eller resurstyp eller sök efter namn.

  5. Välj sedan den App Service som du vill felsöka och välj sedan Ok.

    Detta möjliggör fjärrfelsökning i Din App Service och visar en lista över tillgängliga processer att koppla till.

    Skärmbild av fönstret Koppla till processer, som visar processerna som körs på den valda App Service.

  6. Välj den process som du vill koppla till och välj sedan Koppla för att börja felsöka.

Felsöka virtuella Azure-datorer

Du kan felsöka program som körs på virtuella Azure-datorer med hjälp av Server Explorer i Visual Studio. När du aktiverar fjärrfelsökning på en virtuell Azure-dator installerar Azure fjärrfelsökningstillägget på den virtuella datorn. Sedan kan du ansluta till processer på den virtuella datorn och felsöka som vanligt.

Not

Virtuella datorer som skapats via Azure Resource Manager-stacken kan fjärrnedkopplas med hjälp av Cloud Explorer i Visual Studio 2019. Mer information finns i Hantera Azure-resurser med Cloud Explorer.

Så här felsöker du en virtuell Azure-dator

  1. I Server Explorer expanderar du noden Virtuella datorer och väljer noden för den virtuella dator som du vill felsöka.

  2. Öppna snabbmenyn och välj Aktivera felsökning. När du tillfrågas om du är säker på att du vill aktivera felsökning på den virtuella datorn väljer du Ja.

    Azure installerar fjärrfelsökningstillägget på den virtuella datorn för att aktivera felsökning.

    Virtuell dator aktiverar felsökningskommando

    Azure-aktivitetsloggen

  3. När fjärrfelsökningstillägget har installerats öppnar du snabbmenyn för den virtuella datorn och väljer Bifoga felsökningsprogram...

    Azure hämtar en lista över processerna på den virtuella datorn och visar dem i dialogrutan Koppla till process.

    Koppla felsökningskommando

  4. I dialogrutan Koppla till process väljer du Välj för att begränsa resultatlistan så att endast de typer av kod som du vill felsöka visas. Du kan felsöka 32-bitars eller 64-bitars hanterad kod, intern kod eller både och.

    dialogrutan Välj kodtyp

  5. Välj de processer som du vill felsöka på den virtuella datorn och välj sedan Bifoga. Du kan till exempel välja den w3wp.exe processen om du vill felsöka en webbapp på den virtuella datorn. Mer information finns i Felsöka en eller flera processer i Visual Studio och Azure Role Architecture.

Skapa ett webbprojekt och en virtuell dator för felsökning

Innan du publicerar ditt Azure-projekt kan det vara bra att testa det i en innesluten miljö som stöder felsöknings- och testningsscenarier och där du kan installera test- och övervakningsprogram. Ett sätt att köra sådana tester är att fjärrfelsöka din app på en virtuell dator.

Visual Studio ASP.NET-projekt erbjuder ett alternativ för att skapa en praktisk virtuell dator som du kan använda för apptestning. Den virtuella datorn innehåller vanliga slutpunkter som PowerShell, Fjärrskrivbord och WebDeploy.

Skapa ett webbprojekt och en virtuell dator för felsökning

  1. Skapa ett nytt ASP.NET webbprogram i Visual Studio.

  2. I dialogrutan Nytt ASP.NET projekt går du till avsnittet Azure och väljer Virtuell dator i listrutan. Låt kryssrutan Skapa fjärrresurser vara markerad. Välj OK för att fortsätta.

    Dialogrutan Skapa virtuell dator i Azure visas.

    Skapa ASP.NET-webbprojekt dialogruta

    Anteckning

    Du uppmanas att logga in på ditt Azure-konto om du inte redan är inloggad.

  3. Välj de olika inställningarna för den virtuella datorn och välj sedan OK. Mer information finns i Virtual Machines.

    Namnet som du anger för DNS-namnet är namnet på den virtuella datorn.

    Dialogrutan Skapa virtuell dator i Azure

    Azure skapar den virtuella datorn och etablerar och konfigurerar sedan slutpunkterna, till exempel Fjärrskrivbord och Webbdistribution.

  4. När den virtuella datorn är helt konfigurerad väljer du den virtuella datorns nod i Server Explorer.

  5. Öppna snabbmenyn och välj Aktivera felsökning. När du tillfrågas om du är säker på att du vill aktivera felsökning på den virtuella datorn väljer du Ja.

    Azure installerar fjärrfelsökningstillägget till den virtuella datorn för att aktivera felsökning.

    Virtuell dator aktiverar felsökningskommando

    Azure-aktivitetslogg

  6. Publicera projektet enligt beskrivningen i Så här: Distribuera ett webbprojekt med One-Click Publicera i Visual Studio. Eftersom du vill felsöka på den virtuella datorn går du till sidan Inställningar i guiden Publicera webb och väljer Felsöka som konfiguration. Detta säkerställer att kodsymbolerna är tillgängliga vid felsökning.

    Publicera inställningar

  7. I Filpubliceringsalternativväljer du Ta bort ytterligare filer vid mål om projektet redan distribuerades vid ett tidigare tillfälle.

  8. När projektet har publicerats går du till snabbmenyn för den virtuella datorn i Server Explorer och väljer Bifoga felsökningsprogram...

    Azure hämtar en lista över processerna på den virtuella datorn och visar dem i dialogrutan Koppla till process.

    Koppla felsökningskommando

  9. I dialogrutan Koppla till process väljer du Välj för att begränsa resultatlistan så att endast de typer av kod som du vill felsöka visas. Du kan felsöka 32-bitars eller 64-bitars hanterad kod, intern kod eller både och.

    dialogrutan Välj kodtyp

  10. Välj de processer som du vill felsöka på den virtuella datorn och välj sedan Anslut. Du kan till exempel välja den w3wp.exe processen om du vill felsöka en webbapp på den virtuella datorn. Mer information finns i Felsöka en eller flera processer i Visual Studio.