Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du felsöker ett Visual Studio-tillägg används en särskild instans av Visual Studio med namnet Experimental Instance för att vara värd för ditt tillägg när du kör felsökningsprogrammet i Visual Studio IDE. De två instanserna körs oberoende sida vid sida. Den här artikeln beskriver hur du felsöker tillägg som skapats med VisualStudio.Extensibility SDK när de körs i den experimentella instansen av Visual Studio IDE.
Utbyggnadsprocesser
Felsökningsprocessen skiljer sig något beroende på om tillägget körs i processen eller inte. Se Skapa ditt första VSSDK-kompatibla VisualStudio.Extensibility-tillägg. Med ett out-of-process-tillägg körs tillägget i en dedikerad process för Visual Studio-tillägg. Den här processen, som kallas Microsoft.ServiceHub.Host.Extensibility, förmedlar all kommunikation mellan Visual Studios IDE-process och den process som är värd för ditt tillägg. När du startar ett tillägg med hjälp av F5 startar Visual Studio Visual Studio Experimental Instance och ansluter till den process som är värd för ditt tillägg. Du behöver vanligtvis inte bry dig om den exakta processen, för när du startar felsökningsprogrammet från ett tilläggsprojekt genom att trycka F5 på Visual Studio IDE letar Visual Studio upp rätt process för att ansluta felsökningsprogrammet till.
När du startar en felsökningssession läses inte tilläggssammansättningen och dess symboler in omedelbart. Innan tillägget läses in håller Visual Studio reda på de platser där tillägget kan aktiveras. Den här informationen hanteras i en intern instans av VisualStudioContribution. Även innan tillägget läses in har Visual Studio information om var det kan aktiveras, till exempel när användaren väljer ett visst menyalternativ, trycker på en verktygsfältsknapp eller läser in en fil av en viss typ i redigeraren. Tilläggets sammansättning läses inte in förrän det har aktiverats i IDE. Vid felsökning, är det första steget att vidta åtgärder i Visual Studio IDE för att ladda tillägget. Du kan till exempel behöva välja menyalternativet eller verktygsfältsknappen för ditt tillägg. Då läses tilläggssammansättningen in, initieringskoden körs och du kan träffa brytpunkter och stega igenom kod. Den första koden som ska köras i tillägget är InitializeAsync -metoden i Extension klassen och nästa metod är InitializeServices.
Processer och anropsstackar
Om tillägget håller på att bearbetas innehåller anropsstacken Både Visual Studio-stackramar och ditt tilläggs stackramar. Symboler är normalt inte tillgängliga för Visual Studio, men du kan se anropen där Visual Studio anropar ditt tillägg.
Med ett out-of-process-tillägg ser du bara tilläggets anropsstack. Visual Studio-stackramar är i en separat process. Visual Studio anropar ditt tillägg via JsonRpc-kompatibla gränssnitt, ServiceHub-värden dirigerar anropet och sedan börjar körningen av din process med återanropet. Kontrollen återgår till Visual Studio när återanropet returneras.
Tillståndet skickas till ditt tillägg genom olika metoder vid behov och omsluts av en IClientContext instans för enkel användning, men det är viktigt att komma ihåg att det är en ögonblicksbild av tillståndet, vilket kan ändras mellan när ögonblicksbilden tas och när du läser den från tilläggskoden eller visar den i debuggern.
Det finns en del intern kod i ServiceHub-värdprocessen som hanterar förmedling av RPC (Remote Procedure Call). Om ett fel inträffar i det här lagret är det inte synligt för dig. Sådana fel bör rapporteras som produktproblem.
Felsöka tillägget i den experimentella instansen av Visual Studio
Öppna tilläggsprojektet.
Ställ in en brytpunkt, till exempel i din tilläggsmetods
InitializeServicespå huvudklassen som ärvd frånExtension. Om du vill ange en brytpunkt på en kodrad klickar du på raden och trycker påF9.På huvudmenyn väljer du Felsöka > Starta felsökning eller trycker på
F5. Visual Studio Experimental Instance startas; samtidigt startar ServiceHub-värdprocessen.Kör stegen i den experimentella instansen av Visual Studio som gör att tillägget aktiveras eller återskapar det scenario som du tänker felsöka.
Visual Studio stoppas vid en brytpunkt.
Tips/Råd
Det kan vara praktiskt att ha flera övervakare, så att du kan se både felsökningsprogrammet och den experimentella instansen samtidigt på två olika bildskärmar. Du kanske vill ändra temat i den experimentella instansen för att göra det mer uppenbart vilken IDE du arbetar med vid en viss tidpunkt. Se Ändra teckensnitt, färger och teman i Visual Studio.
Starta eller återställa den experimentella instansen
Du kan återställa eller starta den experimentella instansen med hjälp av genvägarna ResetExperimental och StartExperimental i VSSDK-mappen (under visual studio-installationsmappen).
I Visual Studio 2026 och senare kan du också använda kommandon på menyn Tilläggstilläggsutveckling> för att starta eller återställa den experimentella instansen.
Felsöka tillägget med hjälp av Diagnostikutforskaren
Mer information finns i VisualStudio.Extensibility Diagnostics Explorer .
Felsökning
Om du ser felet Det här tillägget stöds inte på den aktuella produkten när du startar felsökningsprogrammet öppnar .vsixmanifest du filen och kontrollerar elementet InstallationTarget . Installationsmålet Microsoft.VisualStudio.IntegratedShell stöds inte. Använd Microsoft.VisualStudio.Community i stället. Se REFERENS FÖR VSIX-tilläggsschema 2.0.