Delen via


Fouten opsporen in een Azure Cloud Services-service (uitgebreide ondersteuning) in Visual Studio

Visual Studio biedt verschillende opties voor het opsporen van fouten in Azure Cloud Services (uitgebreide ondersteuning) en virtuele machines.

Voorwaarden

Fouten opsporen in uw cloudservice op uw lokale computer

U kunt tijd en geld besparen met behulp van de Azure Compute Emulator om fouten op te sporen in uw cloudservice op een lokale computer. Door lokaal fouten in een service op te sporen voordat u deze implementeert, kunt u de betrouwbaarheid en prestaties verbeteren zonder te betalen voor rekentijd. Sommige fouten kunnen echter alleen optreden wanneer u een cloudservice uitvoert in Azure zelf. U kunt deze fouten opsporen als u externe foutopsporing inschakelt wanneer u uw service publiceert en vervolgens het foutopsporingsprogramma koppelt aan een rolinstantie.

De emulator simuleert de Azure Compute-service en wordt uitgevoerd in uw lokale omgeving, zodat u uw cloudservice kunt testen en fouten kunt opsporen voordat u deze implementeert. De emulator verwerkt de levenscyclus van uw rolinstanties en biedt toegang tot gesimuleerde resources, zoals lokale opslag. Wanneer u debugt of uw service uitvoert vanuit Visual Studio, wordt de emulator automatisch als achtergrondtoepassing gestart en vervolgens wordt uw service naar de emulator geïmplementeerd. U kunt de emulator gebruiken om uw service weer te geven wanneer deze wordt uitgevoerd in de lokale omgeving. U kunt de volledige versie of de expressversie van de emulator uitvoeren. Zie Emulator Express gebruiken om lokaal een cloudservice uit te voeren en fouten op te sporen.

Fouten opsporen in uw cloudservice op uw lokale computer

  1. Selecteer in de menubalk Fouten opsporen>Foutopsporing starten om uw Azure Cloud Services-project (uitgebreide ondersteuning) uit te voeren. Als alternatief kunt u op F5 drukken. U ziet een bericht dat de rekenemulator wordt gestart. Wanneer de emulator wordt gestart, bevestigt het systeemvakpictogram dit.

    Azure-emulator in het systeemvak

  2. Geef de gebruikersinterface voor de rekenemulator weer door het snelmenu voor het Azure-pictogram in het systeemvak te openen en selecteer vervolgens De gebruikersinterface van de rekenemulator weergeven.

    In het linkerdeelvenster van de gebruikersinterface ziet u de services die momenteel zijn geïmplementeerd in de rekenemulator en de rolinstanties die door elke service worden uitgevoerd. U kunt de service of rollen kiezen om de levenscyclus, logboekregistratie en diagnostische gegevens in het rechterdeelvenster weer te geven. Als u de focus in de bovenmarge van een opgenomen venster plaatst, wordt het uitgebreid om het rechterdeelvenster te vullen.

  3. Doorloop de toepassing door opdrachten te kiezen in het Foutopsporingsmenu en onderbrekingspunten in uw code in te stellen. Terwijl u de toepassing in het foutopsporingsprogramma doorloopt, worden de deelvensters bijgewerkt met de huidige status van de toepassing. Wanneer u de foutopsporing stopt, wordt de implementatie van de toepassing verwijderd. Als uw toepassing een webrol bevat en u de eigenschap Opstartactie hebt ingesteld om de webbrowser te starten, start Visual Studio uw webtoepassing in de browser. Als u het aantal exemplaren van een rol in de serviceconfiguratie wijzigt, moet u de cloudservice stoppen en vervolgens foutopsporing opnieuw starten, zodat u fouten in deze nieuwe exemplaren van de rol kunt opsporen.

    Notitie

    Wanneer u stopt met het uitvoeren of opsporen van fouten in uw service, worden de lokale rekenemulator en opslagemulator niet gestopt. U moet ze expliciet stoppen vanuit het meldingengebied.

Fouten opsporen in een cloudservice in Azure

Als u foutopsporing op afstand inschakelt voor een cloudservice met behulp van de procedure in deze sectie, worden er geen gedegradeerde prestaties weergegeven of worden er extra kosten in rekening gebracht. Gebruik geen externe foutopsporing voor een productieservice, omdat clients die de service gebruiken mogelijk nadelig worden beïnvloed.

Externe foutopsporing inschakelen voor een cloudservice (uitgebreide ondersteuning)

  1. Voeg een eindpunt toe aan de ServiceDefinition.csdef- voor de standaardpoort msvsmon. Voor Visual Studio 2022 is dat 4026; Voor Visual Studio 2019 is het 4024.

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

    Notitie

    Andere versies van Visual Studio hebben verschillende poorten Poorttoewijzingen voor externe foutopsporingsprogramma's.

  2. Als u zich richt op .NET 4.8, opent u het bestand ServiceConfiguration.Cloud.cscfg en controleert u de waarde van het kenmerk osFamily op het ServiceConfiguration-element bij het publiceren van Cloud Services (uitgebreide ondersteuning). Gebruik osFamily="7"voor een .NET 4.8-project.

  3. Open het snelmenu voor het Azure-project en selecteer Publiceren.

  4. Selecteer de faseringsomgeving en de Debug-configuratie.

    Dit is slechts een richtlijn. U kunt ervoor kiezen om uw testomgevingen uit te voeren in een productieomgeving. U kunt echter negatieve gevolgen hebben voor gebruikers als u externe foutopsporing inschakelt in de productieomgeving. U kunt de releaseconfiguratie kiezen, maar de foutopsporingsconfiguratie maakt foutopsporing eenvoudiger.

    De configuratie voor foutopsporing kiezen

  5. Volg de gebruikelijke stappen die worden beschreven in Cloud Services (uitgebreide ondersteuning), maar schakel het selectievakje Extern bureaublad inschakelen in voor alle rollen.

    U wordt gevraagd om een gebruikersnaam en wachtwoord te maken voor de gebruiker van het externe bureaublad. U moet zich later aanmelden bij die virtuele machine.

  6. Ga naar het volgende scherm, controleer uw instellingen en klik op Publiceren en wacht tot de implementatie is voltooid.

  7. Meld u aan bij Azure Portal en navigeer naar de Cloudservice (uitgebreide ondersteuning) die u wilt debuggen.

  8. Kies Rollen en Exemplaren in het linkerdeelvenster en kies vervolgens de rol waarin u geïnteresseerd bent om op afstand te debuggen.

  9. Klik op Connect in de Role Instance popout aan de rechterkant en kies de knop Connect om een extern bureaubladbestand te downloaden om in te loggen op de virtuele machine. Meld u aan met de inloggegevens die u heeft ingesteld toen u het externe bureaublad in een vorige stap heeft ingeschakeld.

    Schermopname van de pop-out van het rolvoorbeeld met de optie Verbinden.

  10. Installeer op de virtuele machine van Remote Azure de Externe hulpprogramma's van Visual Studio 2022, zoals beschreven in Externe foutopsporing.

  11. Voer vanaf het bureaublad op de virtuele machine de opdracht msvsmon.exe uit in de installatiemap van Visual Studio onder Common7\IDE\Remote Debugger\x64. Zorg ervoor dat u het programma als Administrator uitvoert.

  12. Accepteer meldingen om toegang via de firewall toe te staan. Er wordt een bericht weergegeven dat aangeeft dat msvsmon.exe is begonnen met luisteren naar verbindingen.

    Schermopname waarop te zien is dat msvsmon.exe luistert naar verbindingen.

  13. Open in Azure Portal de resourcegroep en haal het openbare IP-adres op voor de cloudservice (uitgebreide ondersteuning).

    Schermopname die laat zien waar het openbare IP-adres voor de cloudservice moet worden gevonden.

Het foutopsporingsprogramma koppelen aan een cloudservice (uitgebreide ondersteuning) in Azure

Notitie

Indien mogelijk moet u fouten opsporen met de Foutopsporing configuratie die is gekozen in het proces Publiceren, maar als u fouten opspoort in een Release-configuratie, gebruikt u in Visual Studio Ctrl+Q om te zoeken naar 'Just My Code' en schakelt u Just My Code in Tools>Options>Debugger>Generaluit. Release-builds zijn geoptimaliseerd en worden dus niet beschouwd als 'Mijn code'.

  1. Kies Foutopsporing>Bijvoegen aan proces (of druk op Ctrl+Alt+P).

  2. Houd het verbindingstype op Standaard-.

  3. Voer het verbindingsdoel in met behulp van uw IP-adres en poort: {ipaddress}:4026.

  4. Koppel aan op automatische.

  5. Meld u aan met dezelfde inloggegevens als voor externe bureaubladgebruikers.

  6. Selecteer Proces weergeven voor alle gebruikers. Als u fouten in een werkrol opspoort, koppelt u deze aan WaWorkerHost.exe; als u fouten in een webrol opspoort, voegt u deze toe aan het w3wp.exe proces; voor een web-API-rol is deze WaIISHost.exe.

  7. Stel onderbrekingspunten in (navigeer naar de regel en druk op F9), open de openbare URL van de site en reproduceer het scenario om fouten op te sporen.

Debuggen van Azure App Service

U kunt fouten opsporen in programma's die worden uitgevoerd in Azure App Service met behulp van het dialoogvenster Koppelen aan proces in Visual Studio.

Notitie

Dit is alleen beschikbaar voor Azure App Service vanaf Visual Studio 2022 17.1.

Fouten opsporen in een Windows Azure App Service

  1. Selecteer onder Foutopsporingde optie Bijvoegen aan proces.

  2. Wijzig verbindingstype in Microsoft Azure App Services-en selecteer Zoeken...

  3. Selecteer in het dialoogvenster dat wordt geopend de abonnementsnaam.

    schermopname van het dialoogvenster Azure App Service selecteren, met een lijst met app-services die u wilt selecteren.

    Notitie

    U moet zijn aangemeld bij een Microsoft-account met toegang tot het abonnement dat uw Azure App Service bevat.

  4. Filter de weergave op Resourcegroep of Resourcetype, ofwel zoeken op naam.

  5. Selecteer de App Service die u wilt debuggen en selecteer vervolgens Ok.

    Hiermee kunt u externe foutopsporing in uw App Service inschakelen en ziet u een lijst met beschikbare processen waaraan u kunt koppelen.

    schermopname van het venster Bijvoegen aan proces, met de processen die worden uitgevoerd in de geselecteerde App Service.

  6. Selecteer het proces waarmee u verbinding wilt maken en kies vervolgens Koppelen om met debuggen te beginnen.