Begrepp för fjärrfelsökning
Visual Studio innehåller kraftfulla verktyg och funktioner för fjärrfelsökning för att felsöka program som körs på andra datorer utanför utvecklingsmiljön. De flesta utvecklare är bekanta med Visual Studio-felsökningsverktygen när de utvecklar lokalt, men kanske inte inser att en liknande upplevelse är tillgänglig för appar som körs i andra miljöer. Här följer några vanliga scenarier för fjärrfelsökning:
- Ansluta till och felsöka en app som finns i någon av många Azure-tjänster, till exempel apptjänstinstanser eller virtuella datorer
- Felsöka en app som värdhanteras från en lokal server i IIS
- Felsöka en app som körs på en annan utvecklingsdator för felsökning
- Koppla till en process på klientsidan, till exempel en webbläsare för att felsöka kod som körs utanför din lokala appkontext
- Felsöka ett program som körs i en containerbaserad miljö separat från utvecklingsmiljön
I de kommande övningarna fokuserar du på det första scenariot i den här listan för att felsöka en app som körs i Azure App Service med hjälp av Visual Studio. App Service är en av de mest använda Azure-tjänsterna och ett kraftfullt alternativ för att vara värd för .NET-program.
Förstå verktyg för fjärrfelsökning
Fjärrfelsökning omfattar olika Visual Studio-verktyg och funktioner. När du fjärrfelsöker program som distribueras på andra servrar eller virtuella datorer kan du behöva installera Visual Studio Remote Tools.
I nästa övning ska du felsöka en app med Azure App Service som värd, så du behöver inte installera verktygen. I det här scenariot hanteras många av dessa typer av konfigurationer automatiskt. Du kan använda Funktionen Bifoga för att bearbeta i Visual Studio för att ansluta direkt till en App Service-process. Om du antar att rätt felsökningssymboler och källkod läses in kan du sedan felsöka programmet som om det kördes lokalt på datorn.
En översikt över symbolfiler
Visual Studio kräver symbolfiler för källkoden för att kunna felsöka ett program som körs på andra datorer eller miljöer. Symbolfiler skapas i bin
katalogen som en del av byggprocessen och slutar med ett .pdb
tillägg. I förenklade termer ger symbolfiler en instruktionsbrygga mellan kompilerad kod och källkod. Visual Studio-felsökningsprogrammet använder symbolfiler för att gå igenom källkoden rad för rad medan den kompilerade versionen körs. När du kör och felsöker lokalt kan Visual Studio hitta de genererade symbolfilerna automatiskt på grund av dess standardsökplatser för .pdb
filer.
När ett program kompileras och distribueras till Azure har Visual Studio inte automatiskt åtkomst till de nödvändiga symbolfilerna, så du måste ange en lokal kopia av dem under felsökningen. De lokala källkods- och symbolfilerna måste exakt matcha den distribuerade koden så att instruktionerna radas upp korrekt.