Service Fabric-alkalmazás hibakeresése a Visual Studióval
Helyi Service Fabric-alkalmazás hibakeresése
Fontos
A távoli hibakeresés nem támogatott a VS 2022-ben
Időt és pénzt takaríthat meg, ha üzembe helyezi és hibakereséssel telepíti az Azure Service Fabric-alkalmazást egy helyi számítógép-fejlesztési fürtben. A Visual Studio 2019 vagy 2015 üzembe helyezheti az alkalmazást a helyi fürtön, és automatikusan csatlakoztathatja a hibakeresőt az alkalmazás összes példányához. A hibakereső csatlakoztatásához a Visual Studiót rendszergazdaként kell futtatni.
Hozzon létre egy helyi fejlesztési fürtöt a Service Fabric-fejlesztési környezet beállítása című cikk lépéseit követve.
Nyomja le az F5 billentyűt, vagy kattintson a Hibakeresés>indítása hibakeresés gombra.
Állítson be töréspontokat a kódban, és haladjon végig az alkalmazáson a Hibakeresés menü parancsaira kattintva.
Megjegyzés
A Visual Studio csatolja az alkalmazás összes példányát. Miközben lépeget a kódon, a töréspontokat több folyamat is érintheti, ami egyidejű munkameneteket eredményez. Próbálja meg letiltani a töréspontokat a találatok után, ha minden töréspontot feltételessé tesz a szálazonosítótól vagy diagnosztikai események használatával.
A Diagnosztikai események ablak automatikusan megnyílik, így valós időben tekintheti meg a diagnosztikai eseményeket.
A Diagnosztikai események ablakot a Cloud Explorerben is megnyithatja. A Service Fabric területen kattintson a jobb gombbal bármelyik csomópontra, és válassza a Streamelési nyomkövetések megtekintése lehetőséget.
Ha egy adott szolgáltatásra vagy alkalmazásra szeretné szűrni a nyomkövetéseket, engedélyezze a streamelési nyomkövetéseket az adott szolgáltatáson vagy alkalmazáson.
A diagnosztikai események az automatikusan létrehozott ServiceEventSource.cs fájlban láthatók, és alkalmazáskódból hívhatók meg.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
A Diagnosztikai események ablak valós időben támogatja az események szűrését, szüneteltetését és vizsgálatát. A szűrő az eseményüzenet egyszerű sztringkeresése, beleértve annak tartalmát is.
A szolgáltatások hibakeresése olyan, mint bármely más alkalmazás hibakeresése. A hibakeresés megkönnyítése érdekében általában töréspontokat fog beállítani a Visual Studióban. Annak ellenére, hogy a Reliable Collections több csomóponton replikálódik, továbbra is IEnumerable-t implementálnak. Ez az implementáció azt jelenti, hogy hibakeresés közben használhatja az Eredmények nézetet a Visual Studióban, hogy lássa, mit tárolt benne. Ehhez állítson be egy töréspontot bárhol a kódban.
Szkript futtatása hibakeresés részeként
Bizonyos esetekben szükség lehet egy szkript futtatására egy hibakeresési munkamenet indításakor (például ha nem használja az Alapértelmezett szolgáltatásokat).
A Visual Studióban hozzáadhat egy Start-Service.ps1 nevű fájlt a Service Fabric-alkalmazás projekt (.sfproj) Scripts mappájába. Ez a szkript akkor lesz meghívva, ha az alkalmazás létrejött a helyi fürtben.
Távoli Service Fabric-alkalmazás hibakeresése
Ha Service Fabric-alkalmazásai egy Service Fabric-fürtön futnak az Azure-ban, ezeket az alkalmazásokat távolról, közvetlenül a Visual Studióból végezheti el.
Megjegyzés
A szolgáltatáshoz a Service Fabric SDK 2.0 és a .NET 2.9-hez készült Azure SDK szükséges.
Figyelmeztetés
A távoli hibakeresés fejlesztési/tesztelési forgatókönyvekhez készült, és nem használható éles környezetekben a futó alkalmazásokra gyakorolt hatás miatt.
Nyissa meg a fürtöt a Cloud Explorerben. Kattintson a jobb gombbal, és válassza a Hibakeresés engedélyezése lehetőséget
Ez a művelet elindítja a távoli hibakeresési bővítmény engedélyezésének folyamatát a fürtcsomópontokon és a szükséges hálózati konfigurációkon.
Kattintson a jobb gombbal a fürtcsomópontra a Cloud Explorerben, és válassza a Hibakereső csatolása lehetőséget
A Csatolás a folyamathoz párbeszédpanelen válassza ki a hibakeresési folyamatot, majd kattintson a Csatolás gombra.
A csatolni kívánt folyamat neve megegyezik a szolgáltatási projekt szerelvényének nevével.
A hibakereső a folyamatot futtató összes csomóponthoz csatlakozik.
Abban az esetben, ha állapot nélküli szolgáltatást keres, a szolgáltatás összes példánya az összes csomóponton a hibakeresési munkamenet része.
Állapotalapú szolgáltatás hibakeresése esetén csak a partíciók elsődleges replikája lesz aktív, ezért a hibakereső észleli. Ha az elsődleges replika a hibakeresési munkamenet során mozog, a replika feldolgozása továbbra is a hibakeresési munkamenet része lesz.
Ha csak egy adott szolgáltatás releváns partícióit vagy példányait szeretné észlelni, feltételes töréspontok használatával csak egy adott partíciót vagy példányt bonthat.
Megjegyzés
Jelenleg nem támogatjuk egy olyan Service Fabric-fürt hibakeresését, amelynek több példánya ugyanaz a szolgáltatás végrehajtható neve.
Miután befejezte az alkalmazás hibakeresését, letilthatja a távoli hibakeresési bővítményt. Ehhez kattintson a jobb gombbal a fürtre a Cloud Explorerben, és válassza a Hibakeresés letiltása lehetőséget.
Nyomkövetések streamelése távoli fürtcsomópontról
A nyomkövetéseket közvetlenül is streamelheti egy távoli fürtcsomópontról a Visual Studióba. Ezzel a funkcióval streamelheti a Service Fabric-fürtcsomóponton létrehozott ETW-nyomkövetési eseményeket.
Megjegyzés
Ehhez a funkcióhoz a Service Fabric SDK 2.0 és a .NET 2.9-hez készült Azure SDK szükséges. Ez a funkció csak az Azure-ban futó fürtöket támogatja.
Figyelmeztetés
A streamelési nyomkövetések fejlesztési/tesztelési forgatókönyvekhez készültek, és nem használhatók éles környezetekben a futó alkalmazásokra gyakorolt hatás miatt. Éles forgatókönyv esetén az események Azure Diagnostics használatával történő továbbítására kell támaszkodnia.
Nyissa meg a fürtöt a Cloud Explorerben. Kattintson a jobb gombbal, és válassza a Streamelési nyomkövetések engedélyezése lehetőséget
Ez a művelet elindítja a streamelési nyomkövetési bővítmény engedélyezésének folyamatát a fürtcsomópontokon, valamint a szükséges hálózati konfigurációkat.
Bontsa ki a Cloud ExplorerCsomópontok elemét, kattintson a jobb gombbal arra a csomópontra, amelyről nyomkövetéseket szeretne streamelni, és válassza a Streamelési nyomkövetések megtekintése lehetőséget.
Ismételje meg a 2. lépést annyi csomópontnál, amennyiből nyomkövetést szeretne látni. Minden csomópont streamje egy dedikált ablakban jelenik meg.
Most már láthatja a Service Fabric és a szolgáltatások által kibocsátott nyomkövetéseket. Ha az eseményeket úgy szeretné szűrni, hogy csak egy adott alkalmazást jelenítsen meg, egyszerűen írja be az alkalmazás nevét a szűrőbe.
Miután befejezte a nyomkövetések fürtről való streamelését, letilthatja a távoli streamelési nyomkövetéseket. Ehhez kattintson a jobb gombbal a fürtre a Cloud Explorerben, és válassza a Streamelési nyomkövetések letiltása lehetőséget.