Megosztás a következőn keresztül:


UWP-alkalmazások üzembe helyezése és hibakeresése

Ez a cikk végigvezeti a különböző üzembehelyezési és hibakeresési célok megcélzásának lépésein.

A Microsoft Visual Studio lehetővé teszi univerzális Windows-platform (UWP) alkalmazások üzembe helyezését és hibakeresését számos Windows 10-eszközön. A Visual Studio kezeli az alkalmazás céleszközön való létrehozásának és regisztrálásának folyamatát.

Üzembehelyezési cél kiválasztása

Cél kiválasztásához nyissa meg a hibakeresési cél legördülő menüt a Hibakeresés indítása gomb mellett, és válassza ki, hogy melyik célon szeretné üzembe helyezni az alkalmazást. A cél kiválasztása után válassza a Hibakeresés indítása (F5) lehetőséget a cél üzembe helyezéséhez és hibakereséséhez, vagy válassza a Ctrl+F5 billentyűkombinációt a célon való üzembe helyezéshez.

Eszköz céllistájának hibakeresése

  • A szimulátor egy szimulált környezetben helyezi üzembe az alkalmazást az aktuális fejlesztői gépen. Ez a beállítás csak akkor érhető el, ha az alkalmazás minimális célplatform-verziója kisebb vagy egyenlő a fejlesztőgéped operációs rendszerének verziójával.
  • A Helyi gép üzembe helyezi az alkalmazást az aktuális fejlesztőgépen. Ez a beállítás csak akkor érhető el, ha az alkalmazás minimális célplatform-verziója kisebb vagy egyenlő a fejlesztőgéped operációs rendszerének verziójával.
  • A távoli gép lehetővé teszi egy távoli cél megadását az alkalmazás üzembe helyezéséhez. A távoli gépeken való üzembe helyezésről további információt a Távoli eszköz megadása című témakörben talál.
  • Az eszköz egy USB-kapcsolattal rendelkező eszközön fogja üzembe helyezni az alkalmazást. Az eszköznek fel kell oldania a fejlesztő zárolását, és fel kell oldania a képernyő zárolását.
  • Az Emulator-cél elindul, és üzembe helyezi az alkalmazást egy emulátorban a névben megadott konfigurációval. Az emulátorok csak Hyper-V engedélyezett és Windows 8.1-et vagy újabb rendszert futtató gépeken érhetők el.

Üzembe helyezett alkalmazások hibakeresése

A Visual Studio bármely futó UWP-alkalmazásfolyamathoz csatolhatja a Hibakeresési, majd Csatolás a folyamathozlehetőséget. A futó folyamathoz való csatoláshoz nincs szükség az eredeti Visual Studio-projektre, de a folyamat szimbólumainak betöltése jelentősen hozzájárul egy olyan folyamat hibakereséséhez, amelyhez nem rendelkezik az eredeti kóddal.

Ezenkívül a telepített alkalmazáscsomagok csatolhatók és hibakereshetők a Hibakeresés, Egyéb, majd a Telepített alkalmazáscsomagok hibakereséselehetőségek kiválasztásával.

Telepített alkalmazáscsomag hibakeresése párbeszédpanel

Ha kiválasztja a Ne indítsa el, de végezzen hibakeresést a kód indításakor opciót, a Visual Studio hibakereső automatikusan csatlakozik az UWP-alkalmazásához, amikor azt egyedi időpontban indítja el. Ez egy hatékony módszer a különböző indítási módszerek, például az egyéni paraméterekkel történő protokollaktiválás vezérlőútvonalainak hibakeresésére.

Az UWP-alkalmazások fejleszthetők és fordíthatók Windows 8.1 vagy újabb rendszeren, de a Windows 10 futtatásához szükség van rá. Ha Windows 8.1 rendszerű számítógépen fejleszt UWP-alkalmazást, távolról is hibakeresést végezhet egy másik Windows 10-eszközön futó UWP-alkalmazásban, feltéve, hogy a gazdagép és a célszámítógép is ugyanazon a hálózaton található. Ehhez töltse le és telepítse a Visual Studio távoli eszközeit mindkét gépen. A telepített verziónak meg kell egyeznie a Telepített Visual Studio meglévő verziójával, és a kiválasztott architektúrának (x86, x64) is meg kell egyeznie a célalkalmazással.

Csomagelrendezés

A Visual Studio 2015 3. frissítésétől hozzáadtuk azt a lehetőséget, hogy a fejlesztők megadják az UWP-alkalmazások elrendezési útvonalát. Ez határozza meg, hogy a rendszer hová másolja a csomagelrendezést a lemezre az alkalmazás létrehozásakor. Alapértelmezés szerint ez a tulajdonság a projekt gyökérkönyvtárához képest van beállítva. Ha nem módosítja ezt a tulajdonságot, a viselkedés ugyanaz marad, mint a Visual Studio korábbi verzióiban.

Ez a tulajdonság módosítható a projekt hibakeresési tulajdonságai között.

Ha az alkalmazáshoz tartozó csomag létrehozásakor az összes elrendezésfájlt bele szeretné foglalni a csomagba, akkor hozzá kell adnia a projekttulajdonságot <IncludeLayoutFilesInPackage>true</IncludeLayoutFilesInPackage>.

A tulajdonság hozzáadása:

  1. Kattintson a jobb gombbal a projektre, majd válassza a Projekt eltávolításalehetőséget.
  2. Kattintson a jobb gombbal a projektre, majd válassza a Szerkesztés [projektnév].xxproj lehetőséget (a .xxproj a projekt nyelve alapján változik).
  3. Adja hozzá a tulajdonságot, majd töltse be újra a projektet.

Távoli eszköz megadása

C# és Microsoft Visual Basic

A C# vagy a Microsoft Visual Basic-alkalmazások távoli gépének megadásához válassza a Távoli gép lehetőséget a hibakeresési cél legördülő listában. Megjelenik a Távoli kapcsolatok párbeszédpanel, amely lehetővé teszi egy IP-cím megadását vagy egy felderített eszköz kiválasztását. Alapértelmezés szerint az univerzális hitelesítési mód van kiválasztva. A használni kívánt hitelesítési mód meghatározásához tekintse meg a hitelesítési módokat.

Távoli kapcsolatok párbeszédpanel

Ehhez a párbeszédpanelhez való visszatéréshez nyissa meg a projekt tulajdonságait, és lépjen a Hibakeresés lapra. Ott válassza ki a Keresés lehetőséget a Távoli gép: mellett.

Hibakeresés lap

Ha egy előző Creators frissítés előtti távoli PC-re szeretne üzembe helyezni egy alkalmazást, le kell töltenie és telepítenie kell a Visual Studio távoli eszközeit a célszámítógépre. A teljes útmutatásért tekintse meg a távoli számítógép utasításait. A Létrehozók Frissítése azonban már a számítógép távoli üzembe helyezését is támogatja.

C++ és JavaScript

Távoli gépi cél megadása C++ vagy JavaScript UWP-alkalmazáshoz:

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, majd kattintson a Tulajdonságok parancsra.
  2. Nyissa meg a hibakeresési beállításokat, majd a indítandó hibakeresőnélválassza a Távoli gépopciót.
  3. Adja meg a gépnév (vagy kattintson a megkereséséhez), majd állítsa be a hitelesítési típus tulajdonságot.

Tulajdonságlapok hibakeresése

A gép megadása után a hibakeresési cél legördülő listájában kiválaszthatja a Távoli gép opciót, hogy visszatérjen a megadott géphez. Egyszerre csak egy távoli gép választható ki.

Távoli PC-utasítások

Megjegyzés:

Ezek az utasítások csak a Windows 10 régebbi verzióihoz szükségesek. A Creators frissítéstől a számítógépek Xboxként kezelhetők. Ez azt jelent, hogy engedélyezi az Eszközfelderítést a számítógép Fejlesztői mód menüjében, és univerzális hitelesítést használ a pin-kódpárok rögzítéséhez és a számítógéphez való csatlakozáshoz.

Ahhoz, hogy szoftvert telepítsen egy a Creators Update előtti távoli PC-re, a célszámítógépen telepítve kell lennie a Visual Studio Remote Tools-nak. A távoli PC-nek olyan Windows-verziót kell futtatnia, amely nagyobb vagy egyenlő az alkalmazás Platform célminimális verzió tulajdonságával. A távoli eszközök telepítése után el kell indítania a távoli hibakeresőt a célszámítógépen.

Ehhez keresse meg a Távoli hibakeresőt a Start menüben, nyissa meg, és ha a rendszer kéri, engedélyezze a hibakeresőnek a tűzfalbeállítások konfigurálását. A hibakereső alapértelmezés szerint Windows-hitelesítéssel indul el. Ehhez felhasználói hitelesítő adatokra lesz szükség, ha a bejelentkezett felhasználó nem azonos mindkét számítógépen.

A Nincs hitelesítésbeállításához a Távoli hibakeresőprogramban lépjen a Eszközök –>Beállításokmenübe, majd állítsa Nincs hitelesítés értékre. A távoli hibakereső beállítása után győződjön meg arról is, hogy a gazdaeszközt fejlesztői módraállította be. Ezt követően üzembe helyezheti a fejlesztői gépről.

További információt a Visual Studio Letöltőközpont oldalán talál.

Parancssori hibakeresési argumentumok átadása

A Visual Studio 2019-ben parancssori hibakeresési argumentumokat adhat át az UWP-alkalmazások hibakeresésének megkezdésekor. A parancssori hibakeresési argumentumokat az alkalmazásosztályOnLaunched metódusában található args paraméterből érheti el. A parancssori hibakeresési argumentumok megadásához nyissa meg a projekt tulajdonságait, és lépjen a Hibakeresés lapra.

Megjegyzés:

Ez a Visual Studio 2017 -ben (15.1-es verzió) érhető el C#, VB és C++ verzióhoz. A JavaScript a későbbi verziókban érhető el. A parancssori hibakeresési argumentumok a szimulátor kivételével minden üzembe helyezési típushoz elérhetők.

C# és VB UWP-projektek esetén a Start beállítások területen megjelenik egy parancssori argumentum.

Parancssori paraméterek

C++ és JS UWP-projektek esetén a hibakeresési tulajdonságokközött mezőként a parancssori argumentumok jelennek meg.

Képernyőkép az App 4 tulajdonságlapjairól, amelyen a Konfiguráció tulajdonságai > Hibakeresés lehetőség van kiválasztva, amelyen a parancssori argumentumok tulajdonság szerepel a táblázatban.

Miután megadta a parancssori argumentumokat, az alkalmazás OnLaunched metódusában elérheti az argumentum értékét. A LaunchActivatedEventArgs objektum args tulajdonsága Argumentumok tulajdonsággal rendelkezik, amelynek értéke a parancssori argumentumok mező szövegére van állítva.

A C++ és JS parancssori argumentumainak képernyőképe.

Hitelesítési módok

A távoli gépek üzembe helyezéséhez három hitelesítési mód létezik:

  • Univerzális (titkosítatlan protokoll): Ezt a hitelesítési módot használja, amikor távoli eszközön helyezi üzembe. Ez jelenleg IoT-eszközökre, Xbox-eszközökre és HoloLens-eszközökre, valamint a Windows 1703-as (alkotói frissítés) vagy újabb verziójú számítógépekre vonatkozik. Univerzális (titkosítatlan protokoll) csak megbízható hálózatokon használható. A hibakeresési kapcsolat sebezhető a rosszindulatú felhasználók számára, akik elfoghatják és módosíthatják a fejlesztés és a távoli gép között átadott adatokat.
  • Windows: Ez a hitelesítési mód csak a Visual Studio Remote Toolst futtató távoli PC-hez (asztali vagy laptophoz) használható. Ezt a hitelesítési módot akkor használja, ha hozzáfér a célgép bejelentkezett felhasználójának hitelesítő adataihoz. Ez a távoli üzembe helyezés legbiztonságosabb csatornája.
  • Nincs: Ez a hitelesítési mód csak a Visual Studio Remote Toolst futtató távoli PC-hez (asztali vagy laptophoz) használható. Ezt a hitelesítési módot akkor használja, ha egy tesztgép be van állítva egy olyan környezetben, amelyben tesztfiók van bejelentkezve, és nem adhatja meg a hitelesítő adatokat. Győződjön meg arról, hogy a távoli hibakereső beállításai nem fogadnak hitelesítést.

Speciális távoli üzembehelyezési lehetőségek

A Visual Studio 2015 Update 3 kiadásától és a Windows 10 évfordulós frissítésétől új, speciális távoli üzembe helyezési lehetőségek állnak rendelkezésre bizonyos Windows 10-eszközökhöz. A speciális távoli üzembe helyezési lehetőségek a projekttulajdonságok hibakeresési menüjében találhatók.

Az új tulajdonságok a következők:

  • Üzembe helyezés típusa
  • Csomagregisztrációs útvonal
  • Az összes fájl megtartása az eszközön – még azok is, amelyek már nem részei az elrendezésnek

Követelmények

A speciális távoli üzembehelyezési lehetőségek használatához meg kell felelnie a következő követelményeknek:

  • A Visual Studio 2015 Update 3 vagy néhány újabb Visual Studio-kiadás telepítve van a Windows 10 Tools 1.4.1 vagy újabb verziójával (amely tartalmazza a Windows 10 évfordulós frissítési SDK-t is). Javasoljuk, hogy a Visual Studio legújabb verzióját használja frissítésekkel, hogy biztosan megkapja a legújabb fejlesztési és biztonsági funkciókat.
  • A Windows 10 évfordulós frissítésű távoli Xbox-eszköz vagy a Windows 10 Creators frissítéssel rendelkező PC megcélzása.
  • Univerzális hitelesítési mód használata

Tulajdonságok lapjai

C# vagy Visual Basic UWP-alkalmazások esetén a tulajdonságok lapja az alábbihoz hasonlóan fog kinézni.

CS- vagy VB-tulajdonságok

C++ UWP-alkalmazások esetén a tulajdonságok lap az alábbihoz hasonlóan fog kinézni.

Cpp-tulajdonságok

Fájlok másolása eszközre

A fájlok eszközre másolása fizikailag átviszi a fájlokat a hálózaton keresztül a távoli eszközre. Kialakítja, majd másolja és regisztrálja a csomagelrendezést, amely a Elrendezés mappaelérési útjához készül. A Visual Studio a Visual Studio-projekt fájljaival szinkronban tartja az eszközre másolt fájlokat; Azonban lehetőség van arra, hogy az összes fájlt az eszközön tartsa – még azokat is, amelyek már nem részei az elrendezésnek. Ha ezt a beállítást választja, az azt jelenti, hogy a korábban a távoli eszközre másolt, de már nem a projekt részét képező fájlok a távoli eszközön maradnak.

A csomagregisztrációs elérési út, amelyet az ad meg, amikor fájlokat másol egy eszközre, a távoli eszköz azon fizikai helye, ahová a fájlokat másolja. Ez az elérési út bármely relatív elérési útként megadható. A fájlok üzembe helyezésének helye a fejlesztési fájlok gyökeréhez lesz viszonyítva, amely a céleszköztől függően változhat. Ennek az elérési útnak a megadása akkor hasznos, ha több fejlesztő is ugyanazt az eszközt használja, és bizonyos buildeltérésű csomagokon dolgozik.

Megjegyzés:

A fájlok eszközre másolása jelenleg támogatott a Windows 10 évfordulós frissítését és a Windows 10 Creators Update-et futtató számítógépeken.

A távoli eszközön a rendszer a következő alapértelmezett helyre másolja az elrendezést: \\MY-DEVKIT\DevelopmentFiles\PACKAGE-REGISTRATION-PATH

Elrendezési séma regisztrálása a hálózatról

Ha úgy dönt, hogy regisztrálja az elrendezést a hálózatról, létrehozhatja a csomagelrendezést egy hálózati megosztásra, majd közvetlenül a hálózatról regisztrálhatja az elrendezést a távoli eszközön. Ehhez meg kell adnia egy olyan elrendezési mappa elérési útját (hálózati megosztást), amely elérhető a távoli eszközről. Az Elrendezés mappa elérési útja tulajdonság a Visual Studiót futtató számítógéphez képest megadott elérési út, míg a Csomagregisztrációs útvonal tulajdonság ugyanaz az elérési út, de a távoli eszközhöz viszonyítva van megadva.

Ahhoz, hogy sikeresen regisztrálhassa az elrendezést a hálózatról, először meg kell osztania a Elrendezés mappa elérési útját a hálózaton. Ehhez kattintson a jobb gombbal a mappára a Fájlkezelőben, válassza a Megosztás adott személyekkel >lehetőséget, majd válassza ki azokat a felhasználókat, akikkel meg szeretné osztani a mappát. Amikor megpróbálja regisztrálni az elrendezést a hálózatról, a rendszer hitelesítő adatok megadását kéri annak biztosítása érdekében, hogy felhasználóként regisztráljon a megosztáshoz való hozzáféréssel.

Ehhez az alábbi példákban talál segítséget:

  • 1. példa (helyi elrendezési mappa, hálózati megosztásként elérhető):

    • Elrendezés mappa elérési útja = D:\Layouts\App1
    • Csomagregisztrációs útvonal = \\NETWORK-SHARE\Layouts\App1
  • 2. példa (hálózati elrendezés mappa):

    • Elrendezés mappa elérési útja = \\NETWORK-SHARE\Layouts\App1
    • Csomagregisztrációs útvonal = \\NETWORK-SHARE\Layouts\App1

Amikor először regisztrálja az elrendezést a hálózatról, a hitelesítő adatok gyorsítótárazva lesznek a céleszközön, így nem kell ismételten bejelentkeznie. A gyorsítótárazott hitelesítő adatok eltávolításához használja a WinAppDeployCmd.exe eszközt, a Windows 10 SDK-ból a törlési paranccsal.

Nem választhatja a(z) összes fájl maradjon az eszközön opciót, amikor a hálózatról regisztrálja az elrendezést, mert nem történik fizikai fájlmásolás a távoli eszközre.

Megjegyzés:

Regisztertérkép hálózaton jelenleg támogatva van Xbox-on, amely Windows 10 Évfordulós frissítést futtat, és PC-ken, amelyek Windows 10 Creators Update-et futtatnak.

A távoli eszközön az elrendezés eszközcsalád szerint a következő alapértelmezett helyre lesz regisztrálva: Xbox: \\MY-DEVKIT\DevelopmentFiles\XrfsFiles - ez egy szimlink a csomagregisztrációs útvonalra, míg a PC közvetlenül regisztrálja a csomagregisztrációs útvonalat szimlink használata nélkül.

Hibakeresési beállítások

A Windows 10-ben az UWP-alkalmazások indítási teljesítménye javul, ha proaktívan elindítja és felfüggeszti az alkalmazásokat az úgynevezett prelaunch technikában. Sok alkalmazásnak nem kell semmi különlegeset tennie ahhoz, hogy ebben a módban működjön, de előfordulhat, hogy egyes alkalmazásoknak módosítaniuk kell a viselkedésüket. Az ezekben a kódútvonalakban előforduló problémák hibakereséséhez elindíthatja az alkalmazás hibakeresését a Visual Studióban előzetes módban.

A hibakeresést mind a Visual Studio-projektek támogatják (Hibakeresési –>Egyéb hibakeresési célok –>Univerzális Windows-alkalmazás előindításának hibakeresése), valamint a már telepített alkalmazások esetében a számítógépen (Hibakeresési –>Egyéb hibakeresési célok –>Telepített alkalmazáscsomag hibakeresése a Alkalmazás előindítással történő aktiválása jelölőnégyzet bejelölésével). További információért lásd: Hibakeresés UWP előzetes indítás.

Az indítási projekt Hibakeresés tulajdonságlapján az alábbi telepítési beállításokat állíthatja be:

  • Helyi hálózati visszacsatolás engedélyezése

    Biztonsági okokból a szabványos módon telepített UWP-alkalmazások nem kezdeményezhetnek hálózati hívásokat arra az eszközre, amelyen telepítve van. Alapértelmezés szerint a Visual Studio üzembe helyezése kivételt hoz létre a szabály alól az üzembe helyezett alkalmazás számára. Ez a kivétel lehetővé teszi a kommunikációs eljárások tesztelését egyetlen gépen. Mielőtt beküldené az alkalmazást a Microsoft Store-ba, tesztelje az alkalmazást az eredeti környezetben, bármiféle kivétel alkalmazása nélkül.

    A hálózati visszacsatolási kivétel eltávolítása az alkalmazásból:

    • A C# és a Visual Basic Hibakeresés tulajdonságlapon törölje a jelet a Helyi hálózati visszacsatolás engedélyezése jelölőnégyzetből.
    • A JavaScript és a C++ hibakeresési tulajdonságlapon állítsa a Helyi hálózati visszacsatolás engedélyezése értéket a Nemértékre.
  • Ne indítsa el, hanem hibakeresse a kódot indításkor / Alkalmazás indítása

    Ha úgy szeretné konfigurálni az üzembe helyezést, hogy automatikusan elindítsa a hibakeresési munkamenetet az alkalmazás indításakor:

    • A C# és a Visual Basic Hibakeresés tulajdonságlapon jelölje be a Ne indítsa el, de hibakeresést végezzen a kód indításakor jelölőnégyzetet.
    • A JavaScript és a C++ hibakeresési tulajdonságlapon állítsa az Alkalmazás indítása értéket az Igenértékre.

Szimbólumok

A szimbólumfájlok számos nagyon hasznos adatot tartalmaznak a kód hibakeresése során, például változókat, függvényneveket és belépésipont-címeket, így jobban megértheti a kivételeket és a hívásvégrehajtási sorrendet. A Windows legtöbb változatának szimbólumai elérhetők a Microsoft Symbol Server segítségével, vagy letölthetők a gyorsabb, offline keresésekhez a Windows Szimbólumcsomagok Letöltésehelyről.

A Visual Studio szimbólumbeállításainak megadásához válassza az Eszközök > Beállításoklehetőséget, majd a párbeszédpanelben lépjen a Hibakeresés > Szimbólumok részhez.

Beállítások párbeszédpanel

Ha szimbólumokat szeretne betölteni egy hibakeresési munkamenetbe a WinDbg használatával, állítsa a szimpath változót a szimbólumcsomag helyére. A következő parancs futtatásával például betölti a szimbólumokat a Microsoft Szimbólumkiszolgálóról, majd gyorsítótárazza őket a C:\Szimbólumok könyvtárban:

.sympath SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
.reload

A határolóval vagy a ‘;’.sympath+ paranccsal további elérési utakat is hozzáadhat. A WinDbg-t használó speciális szimbólumműveletekért lásd a nyilvános és a privát szimbólumokat.

WinDbg hibakereső eszköz

A WinDbg egy hatékony hibakereső, amelyet a Windows SDK-ban található Hibakeresési eszközök a Windowshoz csomag részeként szállítunk. A Windows SDK telepítése lehetővé teszi a Windows hibakeresési eszközeinek önálló termékként való telepítését. Bár a natív kód hibakereséséhez rendkívül hasznos, nem javasoljuk a WinDbg használatát felügyelt kódban vagy HTML5-ben írt alkalmazásokhoz.

A WinDbg UWP-alkalmazásokkal való használatához először le kell tiltania a Folyamatélettartam-kezelést (PLM) az alkalmazáscsomaghoz a PLMDebug használatával, a Folyamatélettartam-kezelés (PLM) tesztelési és hibakeresési eszközeiben leírtak szerint.

plmdebug /enableDebug [PackageFullName] ""C:\Program Files\Debugging Tools for Windows (x64)\WinDbg.exe\" -server npipe:pipe=test"

A Visual Studióval ellentétben a WinDbg alapvető funkcióinak többsége a parancsablak parancsainak megadásán alapul. A megadott parancsok lehetővé teszik a végrehajtási állapot megtekintését, a felhasználói mód összeomlási memóriaképeinek vizsgálatát és a hibakeresést különböző módokon.

A WinDbg egyik legnépszerűbb parancsa !analyze -va jelenlegi kivétel részletes információinak lekérésére szolgál, beleértve a következőket:

  • FAULTING_IP: utasításmutató a hiba időpontjában
  • EXCEPTION_RECORD: az aktuális kivétel címe, kódja és jelzői
  • STACK_TEXT: veremkövetés kivétel előtt

Az összes WinDbg-parancs teljes listáját a Hibakereső parancsok című témakörben találja.