Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Foutopsporing voor momentopnamen is afgeschaft en is niet meer beschikbaar in de nieuwste versies van Visual Studio 2022 en latere versies. Hoewel er geen exacte vervanging is, zijn er andere hulpprogramma's die nuttige diagnostische gegevens kunnen bieden:
De Snapshot Debugger maakt een momentopname van uw apps in productie wanneer code die u interesseert wordt uitgevoerd. Als u het foutopsporingsprogramma wilt instrueren om een momentopname te maken, stelt u snappoints en logboekpunten in uw code in. Met het foutopsporingsprogramma kunt u precies zien wat er mis is gegaan, zonder dat dit van invloed is op het verkeer van uw productietoepassing. Met het foutopsporingsprogramma voor momentopnamen kunt u de benodigde tijd aanzienlijk verminderen om problemen op te lossen die zich voordoen in productieomgevingen.
Snappunten en logboekpunten zijn vergelijkbaar met onderbrekingspunten, maar in tegenstelling tot onderbrekingspunten, stoppen snappunten de toepassing niet wanneer ze voorkomen. Normaal gesproken duurt het vastleggen van een momentopname op een snappoint 10-20 milliseconden.
In deze tutorial, zul je:
- Het foutopsporingsprogramma voor momentopnamen starten
- Een snappoint instellen en een momentopname weergeven
- Een logboekpunt instellen
Vereiste voorwaarden
Snapshot Debugger voor Azure Kubernetes Services is alleen beschikbaar voor Visual Studio 2019 Enterprise of hoger met de Azure-ontwikkelworkload. (Op het tabblad Afzonderlijke onderdelen vindt u deze onder Foutopsporing en testen>Snapshot debugger.)
Als deze nog niet is geïnstalleerd, installeert u Visual Studio 2019 Enterprise.
Momentopnameverzameling is beschikbaar voor de volgende Azure Kubernetes Services-web-apps:
ASP.NET Core-toepassingen die worden uitgevoerd op .NET Core 2.2 of hoger op Debian 9.
ASP.NET Core-toepassingen die worden uitgevoerd op .NET Core 2.2 of hoger op Alpine 3.8.
ASP.NET Core-toepassingen die worden uitgevoerd op .NET Core 2.2 of hoger op Ubuntu 18.04.
Opmerking
Voor hulp bij het inschakelen van ondersteuning voor de Snapshot Debugger in AKS hebben we een repository opgezet met een set Dockerfiles die de installatie op Docker-images demonstreren.
Open uw project en start het foutopsporingsprogramma voor momentopnamen
Open het project dat u wilt momentopname-debuggen.
Belangrijk
Als u fouten wilt opsporen in momentopnamen, moet u dezelfde versie van de broncode openen die is gepubliceerd naar uw Azure Kubernetes-service.
Kies Debug > Attach Snapshot Debugger.... Selecteer de AKS-resource waar uw web-app is geïmplementeerd en een Azure-opslagaccount en klik vervolgens op Koppelen. Snapshot Debugger ondersteunt ook Azure App Service en Azure Virtual Machines (VM) & Virtual Machine Scale Sets.
Opmerking
(Visual Studio 2019 versie 16.2 en hoger) Snapshot Debugger heeft azure-cloudondersteuning ingeschakeld. Zorg ervoor dat zowel de Azure-resource als het Azure Storage-account dat u selecteert zich in dezelfde cloud bevinden. Neem contact op met uw Azure-beheerder als u vragen hebt over de Azure-nalevingsconfiguraties van uw onderneming.
Visual Studio bevindt zich nu in de foutopsporingsmodus voor momentopnamen.
In het venster Modules ziet u wanneer alle modules zijn geladen voor Azure App Service (kies Fouten opsporen > in Windows-modules > om dit venster te openen).
Een snappoint instellen
Klik in de code-editor op de linkergoot naast een coderegel waarin u geïnteresseerd bent om een snappoint in te stellen. Zorg ervoor dat je zeker weet dat de code wordt uitgevoerd.
Klik op Verzameling starten om het snappoint in te schakelen.
Aanbeveling
U kunt niet stappen uitvoeren wanneer u een momentopname bekijkt, maar u kunt meerdere snappoints in uw code plaatsen om de uitvoering op verschillende regels code te volgen. Als u meerdere snappoints in uw code hebt, zorgt het foutopsporingsprogramma voor momentopnamen ervoor dat de bijbehorende momentopnamen afkomstig zijn van dezelfde sessie voor eindgebruikers. De Snapshot Debugger doet dit zelfs als er veel gebruikers zijn die uw app gebruiken.
Een momentopname maken
Zodra een snappoint is ingesteld, kunt u handmatig een momentopname genereren door naar de browserweergave van uw website te gaan en de regel met code uit te voeren die is gemarkeerd of wacht totdat uw gebruikers er een genereren op basis van hun gebruik van de site.
Momentopnamegegevens inspecteren
Wanneer het snappoint wordt bereikt, wordt er een momentopname weergegeven in het venster Diagnostische hulpprogramma's. Als u dit venster wilt openen, kiest u Foutopsporing > in Windows > Diagnostische hulpprogramma's weergeven.
Dubbelklik op het snappoint om de momentopname in de code-editor te openen.
In deze weergave kunt u de muisaanwijzer over variabelen bewegen om DataTips weer te geven, de vensters Locals, Horloges en Oproepstack te gebruiken en ook expressies te evalueren.
De website zelf is nog steeds actief en eindgebruikers worden niet beïnvloed. Er wordt standaard slechts één momentopname per snappoint vastgelegd: nadat een momentopname is vastgelegd, wordt het modulepunt uitgeschakeld. Als u een andere momentopname wilt vastleggen op het snappoint, kunt u de snappoint weer inschakelen door op Verzameling bijwerken te klikken.
U kunt ook meer snappoints toevoegen aan uw app en deze inschakelen met de knop Verzameling bijwerken .
Hulp nodig? Zie de pagina's voor probleemoplossing en bekende problemen enveelgestelde vragen over foutopsporing van momentopnamen .
Een voorwaardelijk uitlijnpunt instellen
Als het lastig is om een specifieke toestand in uw app opnieuw te maken, kunt u overwegen een voorwaardelijk snappoint te gebruiken. Met voorwaardelijke snappoints kunt u bepalen wanneer u een momentopname wilt maken, bijvoorbeeld wanneer een variabele een bepaalde waarde bevat die u wilt inspecteren. U kunt voorwaarden instellen met behulp van expressies, filters of aantal treffers.
Een voorwaardelijk uitlijnpunt creëren
Klik met de rechtermuisknop op een snappoint-pictogram (de lege bol) en kies Instellingen.
Typ een expressie in het venster met snappoint-instellingen.
In de vorige afbeelding wordt de screenshot alleen gemaakt voor het snappoint wanneer
visitor.FirstName == "Dan".
Een logboekpunt instellen
Naast het maken van een momentopname wanneer een snappoint wordt bereikt, kunt u ook een snappoint configureren om een bericht te registreren (dat wil gezegd een logboekpunt maken). U kunt logboekpunten instellen zonder dat u uw app opnieuw hoeft te implementeren. Logboekpunten worden virtueel uitgevoerd en veroorzaken geen gevolgen of bijwerkingen voor uw actieve toepassing.
Een logpunt maken
Klik met de rechtermuisknop op een snappoint-pictogram (de blauwe zeshoek) en kies Instellingen.
Selecteer Acties in het venster instellingen van snappoint.
In het veld Bericht kunt u het nieuwe logboekbericht invoeren dat u wilt vastleggen. U kunt variabelen ook evalueren in uw logboekbericht door ze in accolades te plaatsen.
Als u verzenden naar het uitvoervenster kiest en het logboekpunt wordt bereikt, wordt het bericht weergegeven in het venster Diagnostische hulpprogramma's.
Als u verzenden naar toepassingslogboek kiest, verschijnt het bericht overal waar u berichten van
System.Diagnostics.Tracekunt zien (ofILoggerin .NET Core), zoals in App Insights.
Verwante inhoud
In deze zelfstudie hebt u geleerd hoe u het foutopsporingsprogramma voor momentopnamen voor Azure Kubernetes gebruikt. Mogelijk wilt u meer informatie over deze functie lezen.