Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio hibakeresőt egy helyi vagy távoli számítógépen futó folyamathoz csatolhatja. A folyamat futtatása után válassza a Debug>Attach to Process (Csatolás a folyamathoz) lehetőséget, vagy nyomja le a Ctrl Altp++ a Visual Studióban, és a Csatolás a folyamathoz párbeszédpanelen csatolja a hibakeresőt a folyamathoz.
Az Csatolás a folyamathoz funkcióval hibakeresést végezhet a helyi vagy távoli számítógépeken futó alkalmazásokban, egyszerre több folyamat hibakeresésére, a Visual Studióban nem létrehozott alkalmazások hibakeresésére, vagy bármely olyan alkalmazás hibakeresésére, amelyet nem a Visual Studióból indított a hibakereső csatolásával. Ha például egy alkalmazást a hibakereső nélkül futtat, és kivételt talál, csatolhatja a hibakeresőt az alkalmazást futtató folyamathoz, és megkezdheti a hibakeresést.
Jótanács
Nem biztos abban, hogy az Attach to Process szolgáltatást használja-e a hibakeresési forgatókönyvhöz? Lásd a gyakori hibakeresési forgatókönyveket.
Csatlakozás egy futó folyamathoz a helyi gépen
Ha gyorsan szeretne újracsatolni egy korábban csatolt folyamathoz, tekintse meg az újracsatolást egy folyamathoz.
A Visual Studio 2022 17.10 Preview 2-es verziójától kezdve a Folyamat csatolása párbeszédpanel megváltozott. Ha a régebbi párbeszédpanelnek megfelelő utasításokra van szüksége, váltson a Visual Studio 2019 nézetre (a cikk bal felső verzióválasztója).
A helyi számítógépen futó folyamathoz való csatlakozáshoz kövesse az alábbi lépéseket:
A Visual Studióban válassza a Hibakeresés, majd a > lehetőséget (vagy nyomja le a Ctrl + Alt + + billentyűkombinációt) a Csatolás a folyamathoz párbeszédpanel megnyitásához.
A Kapcsolat típusának beállítása Helyi értékre.
A legtöbb helyi hibakeresési forgatókönyvben használhatja a Helyi lehetőséget. Egyes forgatókönyvek eltérő kapcsolattípust igényelhetnek. További információkért tekintse meg a cikk más szakaszait vagy a gyakori hibakeresési forgatókönyveket.
Az Elérhető folyamatok listában keresse meg és válassza ki a csatolni kívánt folyamatot vagy folyamatokat.
- Egy folyamat gyors kiválasztásához írja be a nevét vagy az első betűjét a Folyamatok szűrése mezőbe.
- Ha nem ismeri a folyamat nevét, böngésszen a listában, vagy tekintse meg a gyakori hibakeresési forgatókönyveket a gyakori folyamatnevekhez.
- A Track Window (Ablak követése ) gombbal engedélyezheti egy ablak kiválasztását a számítógépen, amely beállítja a folyamatot.
Jótanács
A folyamatok elindulhatnak és leállhatnak a háttérben, miközben a Folyamat csatolása párbeszédpanel meg van nyitva, így előfordulhat, hogy a futó folyamatok listája nem mindig aktuális. Az aktuális lista megtekintéséhez bármikor kiválaszthatja a Frissítés lehetőséget.
A Kód típusa mezőben győződjön meg arról, hogy a hibakeresésre szánt kód típusa szerepel a listában.
Az alapértelmezett automatikus beállítás a legtöbb alkalmazástípus esetében működik, de kiválaszthat egy adott kódtípust a hibakereső típusának manuális megadásához.
Válassza a(z) lehetőséget, majd csatolja a(z)-et.
Jótanács
Abban az esetben, ha több azonos folyamat is van, használja a Parancssor oszlopot vagy a W3wp folyamat részleteit a Cím oszlopból a megfelelő folyamat azonosításához.
Megjegyzés:
Hibakeresés céljából több alkalmazáshoz is csatolható, de egyszerre csak egy alkalmazás aktív a hibakeresőben. Az aktív alkalmazást a Visual Studio Hibakeresési hely eszköztárán vagy a Folyamatok ablakban állíthatja be.
Csatolás egy távoli számítógépen futó folyamathoz
Kiválaszthat egy távoli számítógépet is a Folyamat csatolása párbeszédpanelen, megtekintheti a számítógépen futó elérhető folyamatok listáját, és csatolhat egy vagy több folyamatot a hibakereséshez. A távoli hibakeresőnek (msvsmon.exe) a távoli számítógépen kell futnia. További információ: Távoli hibakeresés.
A Visual Studio 2022 17.10 Preview 2-es verziójától kezdve a Folyamat csatolása párbeszédpanel megváltozott. Ha a régebbi párbeszédpanelnek megfelelő utasításokra van szüksége, váltson a Visual Studio 2019 nézetre (a cikk bal felső verzióválasztója).
Távoli számítógépen futó folyamathoz való csatolás:
A Visual Studióban válassza a Hibakeresés, majd a > lehetőséget (vagy nyomja le a Ctrl + Alt + + billentyűkombinációt) a Csatolás a folyamathoz párbeszédpanel megnyitásához.
Állítsa a kapcsolat típusát távoli kapcsolattípusra , például Távoli (Windows) típusra.
A windowsos távoli hibakeresés legtöbb forgatókönyvében használhatja a Távoli (Windows) szolgáltatást. Bizonyos forgatókönyvek, például a Linux hibakeresése vagy egy tárolóalapú alkalmazás, eltérő kapcsolattípust igényelnek. További információkért tekintse meg a cikk más szakaszait vagy a gyakori hibakeresési forgatókönyveket.
Megjelenik a Kapcsolat célbeállítása .
A Kapcsolat célmezőben válassza ki a távoli számítógépet az alábbi módszerek egyikével:
- Válassza a Kapcsolat cél melletti legördülő lista nyilat, és válassza ki a számítógép nevét a legördülő listából.
- Írja be a számítógép nevét a Kapcsolat célmezőbe , és nyomja le az Enter billentyűt.
- A Kapcsolat célmezője melletti Keresés gombra kattintva nyissa meg a Távoli kapcsolatok párbeszédpanelt. A Távoli kapcsolatok párbeszédpanel felsorolja a helyi alhálózaton található vagy a számítógéphez közvetlenül csatlakoztatott összes eszközt. Előfordulhat, hogy a távoli eszközök felderítéséhez meg kell nyitnia a 3702-s kimenő UDP-portot a kiszolgálón. Jelölje ki a kívánt számítógépet vagy eszközt, majd zárja be a párbeszédpanelt.
Ellenőrizze, hogy a Visual Studio hozzáadja-e a szükséges portot a számítógép nevéhez, amely a következő formátumban jelenik meg: <távoli számítógép neve>:p ort
Megjegyzés:
Ha nem tud csatlakozni a távoli számítógép nevével, próbálja meg használni az IP-címet és a portcímet (például
123.45.678.9:4026). A Visual Studio 2022 távoli hibakereső alapértelmezett portja a 4026. Egyéb távoli hibakeresőport-hozzárendelésekért lásd: Távoli hibakereső porthozzárendelések.A kapcsolattípus-beállítás megmarad a hibakeresési munkamenetek között. A kapcsolati célbeállítás csak akkor marad meg a hibakeresési munkamenetek között, ha a célhoz sikeres hibakeresési kapcsolat történt.
Kattintson a Frissítés gombra az Elérhető folyamatok listájának feltöltéséhez.
Jótanács
A folyamatok elindulhatnak és leállhatnak a háttérben, miközben a Folyamat csatolása párbeszédpanel meg van nyitva, így előfordulhat, hogy a futó folyamatok listája nem mindig aktuális. Az aktuális lista megtekintéséhez bármikor kiválaszthatja a Frissítés lehetőséget.
Az Elérhető folyamatok listában keresse meg és válassza ki a csatolni kívánt folyamatot vagy folyamatokat.
Egy folyamat gyors kiválasztásához írja be a nevét vagy az első betűjét a folyamatok keresőmezőbe.
Ha nem ismeri a folyamat nevét, böngésszen a listában, vagy tekintse meg a gyakori hibakeresési forgatókönyveket a gyakori folyamatnevekhez.
Ha az összes felhasználói fiók alatt futó folyamatokat szeretné megtalálni, jelölje be a Folyamatok megjelenítése jelölőnégyzetet az összes felhasználónál .
Megjegyzés:
Ha nem megbízható felhasználói fiók birtokában lévő folyamathoz próbál csatlakozni, megjelenik egy biztonsági figyelmeztetési párbeszédpanel megerősítése. További információ : Biztonsági figyelmeztetés: A nem megbízható felhasználók által birtokolt folyamatokhoz való csatolás veszélyes lehet. Ha a következő információk gyanúsnak tűnnek, vagy nem biztos benne, ne csatolja ezt a folyamatot.
A Kód típusa mezőben győződjön meg arról, hogy a hibakeresésre szánt kód típusa szerepel a listában.
Az alapértelmezett automatikus beállítás a legtöbb alkalmazástípus esetében működik, de kiválaszthat egy adott kódtípust a hibakereső típusának manuális megadásához.
Válassza a(z) lehetőséget, majd csatolja a(z)-et.
Megjegyzés:
Hibakeresés céljából több alkalmazáshoz is csatolható, de egyszerre csak egy alkalmazás aktív a hibakeresőben. Az aktív alkalmazást a Visual Studio Hibakeresési hely eszköztárán vagy a Folyamatok ablakban állíthatja be.
Bizonyos esetekben, amikor távoli asztali (terminálszolgáltatások) munkamenetben hibakeresést hajtanak létre, az Elérhető folyamatok lista nem jeleníti meg az összes elérhető folyamatot. Ha korlátozott felhasználói fiókkal rendelkező felhasználóként futtatja a Visual Studiót, az Elérhető folyamatok lista nem jeleníti meg a 0. munkamenetben futó folyamatokat. A 0. munkamenet szolgáltatásokhoz és más kiszolgálói folyamatokhoz használható, beleértve aw3wp.exe. A problémát úgy oldhatja meg, hogy rendszergazdai fiók alatt futtatja a Visual Studiót, vagy távoli asztali munkamenet helyett a Kiszolgálókonzolon futtatja a Visual Studiót.
Ha egyik megoldás sem lehetséges, a harmadik lehetőség a folyamathoz való csatlakozás a Windows parancssorban való vsjitdebugger.exe -p <ProcessId> futtatásával. A folyamatazonosítót a tlist.exesegítségével határozhatja meg. A tlist.exebeszerzéséhez töltse le és telepítse a Windows hibakeresési eszközeit, amely a WDK és a WinDbg letöltéseken érhető el.
Csatolás az Azure App Service-ben (Windows) futó .NET Core-folyamathoz
Ha az Azure App Service-ben (Windowson) tesz közzé, útmutatásért tekintse meg az Azure-beli ASP.NET Core távoli hibakeresését vagy az Azure App Service hibakeresését .
Csatolás Linuxon futó .NET Core-folyamathoz SSH használatával
További információ: Távoli hibakeresés .NET Core linuxos SSH használatával.
Csatolás Docker-tárolón futó folyamathoz
A Visual Studio 2019-től kezdve egy Docker-tárolón futó folyamathoz csatolhatja a Visual Studio hibakeresőt. Linux .NET Core Docker-tároló esetén lásd: Csatolás Linux Docker-tárolón futó folyamathoz. Windows Docker-tárolók esetén lásd: Csatolás Windows Docker-tárolón futó folyamathoz.
Folyamat újraaktiválása
A korábban csatolt folyamatok gyors újraaktiválásához válassza a Debug>Reattach to Process (Shift+Alt+P) műveletet. Amikor ezt a parancsot választja, a hibakereső azonnal megpróbál hozzácsatolni a legutóbbi folyamatokhoz, először az előző folyamatazonosító alapján, és ha ez nem sikerül, akkor az előző folyamat név alapján. Ha nem található egyezés, vagy ha több folyamat neve azonos, megnyílik a Folyamat csatolása párbeszédpanel, így kiválaszthatja a megfelelő folyamatot.
Megjegyzés:
A Reattach to Process parancs a Visual Studio 2017-től érhető el.
Gyakori hibakeresési forgatókönyvek
A következő táblázat néhány gyakori hibakeresési forgatókönyvet mutat be, amely segít eldönteni, hogy használja-e a Csatolás a folyamathoz funkciót, és melyik folyamathoz csatolódjon. Emellett, ahol elérhető, további utasításokra mutató hivatkozások is találhatók. (A lista nem teljes.)
Ha gyorsan ki szeretne választani egy futó folyamatot, amelyhez csatolni szeretne, írja be a Visual Studióba a Ctrl AltP++, majd írja be a folyamat nevének első betűét.
Ahhoz, hogy a hibakereső a C++-ban írt kódhoz legyen csatolva, a kódnak ki kell bocsátania DebuggableAttribute. Ezt automatikusan hozzáadhatja a kódhoz a /ASSEMBLYDEBUG linker beállítás csatolásával.
Az ügyféloldali parancsfájlok hibakereséséhez engedélyezni kell a szkriptek hibakeresését a böngészőben. A Chrome-ban az ügyféloldali szkript hibakereséséhez válassza a JavaScript vagy a TypeScript kódot kódtípusként, és az alkalmazás típusától függően előfordulhat, hogy be kell zárnia az összes Chrome-példányt, és hibakeresési módban kell elindítania a böngészőt (írja be chrome.exe --remote-debugging-port=9222 a parancssorból).
| Scenario | Hibakeresési módszer | Folyamat neve | Jegyzetek és hivatkozások |
|---|---|---|---|
| ASP.NET Core – Távoli hibakeresés az Internet Information Services (IIS) kiszolgálón | Távoli eszközök használata és csatolás a folyamathoz | w3wp.exe vagy dotnet.exe | A .NET Core 3-tól kezdve a w3wp.exe folyamat az alapértelmezett alkalmazáson belüli üzemeltetési modellhez használatos. Az alkalmazás üzembe helyezéséről lásd: Közzététel az IIS-ben. További információ: Távoli hibakeresés ASP.NET Core távoli IIS-számítógépen |
| ASP.NET Core – Hibakeresés a helyi gépen az alkalmazás hibakereső nélküli elindítása után | A Csatolás a folyamathoz használata | appname.exe vagy iisexpress.exe | Ez hasznos lehet az alkalmazás gyorsabb betöltéséhez, például a profilkészítés során. Az ASP.NET Core alapértelmezett helyi kiszolgálói (kestrel) folyamata appname.exe. |
| ASP.NET 4 vagy 4.5 – Távoli hibakeresés IIS-kiszolgálón | Távoli eszközök használata és csatolás a folyamathoz | w3wp.exe | Lásd ASP.NET távoli hibakeresése egy távoli IIS számítógépen |
| Ügyféloldali szkript – Hibakeresés helyi IIS-kiszolgálón támogatott alkalmazástípusok esetén | A Csatolás a folyamathoz használata | chrome.exe vagy msedge.exe | Engedélyezni kell a szkriptek hibakeresését. Chrome esetén hibakeresési módban is futtatnia kell a Chrome-ot (írja be chrome.exe --remote-debugging-port=9222 a parancssorból), és a Csatolás mezőben válassza a JavaScript vagy a TypeScript lehetőséget. |
| C#, Visual Basic vagy C++ alkalmazás – Hibakeresés a helyi gépen | Használjon standard hibakeresést (F5) vagy csatlakozás egy folyamathoz | {appname}.exe | A legtöbb esetben használjon szabványos hibakeresést, ne pedig a "Csatlakozás a folyamathoz" lehetőséget. |
| Asztali Windows-alkalmazás – Távoli hibakeresés | Távoli eszközök | N/A | C# vagy Visual Basic alkalmazás távoli hibakeresése vagy C++ alkalmazás távoli hibakeresése |
| .NET Core Linux rendszeren – Hibakeresés | A Csatolás a folyamathoz használata | dotnet.exe vagy egyedi folyamatnév | Az SSH használatához lásd: Távoli hibakeresés .NET Core linuxos SSH használatával. Tárolóalapú alkalmazások esetén lásd: Csatolás docker-tárolóban futó folyamathoz. |
| Tárolóalapú alkalmazás – Hibakeresés | A Csatolás a folyamathoz használata | dotnet.exe vagy egyedi folyamatnév | Lásd: Csatolás docker-tárolóban futó folyamathoz |
| Python Linuxon – Távoli hibakeresés | A Csatolás a folyamathoz használata | debugpy | Lásd: Távoli csatolás a Python-eszközökről |
| Egyéb támogatott alkalmazástípusok – Hibakeresés kiszolgálói folyamaton | Ha a kiszolgáló távoli, használjon távoli eszközöket, és csatolja a folyamathoz | chrome.exe, msedge.exevagy egyéb folyamatok | Ha szükséges, használja a Resource Monitort a folyamat azonosításához. Lásd : Távoli hibakeresés. |
| Univerzális Windows-platform (UWP) alkalmazás, OneCore, HoloLens vagy IoT-alkalmazás – Távoli hibakeresés | Telepített alkalmazáscsomag hibakeresése | N/A | Lásd: Telepített alkalmazáscsomag hibakeresése a Csatolás a folyamathoz funkció helyett |
| UWP-alkalmazás, OneCore, HoloLens vagy IoT – Nem a Visual Studióból kiinduló alkalmazás hibakeresése | Telepített alkalmazáscsomag hibakeresése | N/A | Lásd: Telepített alkalmazáscsomag hibakeresése a Csatolás a folyamathoz funkció helyett |
Hibakereső funkciók használata
Ha a Visual Studio hibakeresőjének teljes funkcióit (például töréspontokat) szeretne használni egy folyamathoz való csatoláskor, az alkalmazásnak pontosan meg kell egyeznie a helyi forrással és szimbólumokkal. Vagyis a hibakeresőnek képesnek kell lennie betölteni a megfelelő szimbólumfájlokat (.pdb). Ehhez alapértelmezés szerint hibakeresési buildre van szükség.
Távoli hibakeresési forgatókönyvek esetén meg kell nyitnia a forráskódot (vagy a forráskód másolatát) a Visual Studióban. A távoli gépen lévő lefordított alkalmazás bináris fájljainak ugyanabból a buildből kell származnia, mint a helyi gépen.
Egyes helyi hibakeresési forgatókönyvekben hibakeresést végezhet a Visual Studióban a forráshoz való hozzáférés nélkül, ha a megfelelő szimbólumfájlok találhatók az alkalmazással. Ehhez alapértelmezés szerint hibakeresési buildre van szükség. További információ: Szimbólum- és forrásfájlok megadása.
Csatolási hibák elhárítása
Bizonyos esetekben a hibakeresőnek segítségre lehet szüksége a hibakereséshez szükséges kód típusának helyes azonosításához. Ha a kapcsolati értékek helyesen vannak beállítva (megtekintheti a megfelelő folyamatot az Elérhető folyamatok listában), de a hibakereső nem csatolható, próbálja meg kiválasztani a legmegfelelőbb hibakeresőt a Kódtípus listában, ami szükséges lehet például linuxos vagy Python-alkalmazás hibakereséséhez.
Előfordulhat, hogy a hibakereső sikeresen csatolható egy kódtípushoz, egy másik kódtípushoz azonban nem. Ez általában a következő esetekben fordul elő:
- Egy távoli számítógépen futó folyamathoz próbál csatlakozni. Előfordulhat, hogy a távoli számítógép bizonyos kódtípusokhoz távoli hibakeresési összetevőket telepített, másokra azonban nem.
- A közvetlen adatbázis-hibakereséshez két vagy több folyamathoz próbál csatlakozni. Az SQL-hibakeresés csak egyetlen folyamathoz való csatolást támogatja.
Ha a hibakereső néhány, de nem az összes kódtípushoz tud csatolni, megjelenik egy üzenet, amely azonosítja, hogy mely típusokat nem sikerült csatolni.
Ha a hibakereső sikeresen csatlakozik legalább egy kódtípushoz, folytathatja a hibakeresést. Csak a sikeresen csatolt kódtípusokat tudja hibakeresésre használni. A folyamat kapcsolódás nélküli kódja továbbra is futni fog, de nem állíthat be töréspontokat, nem nézheti meg az adatokat, és nem hajthat végre más hibakeresési műveleteket azon a kódon.
Ha pontosabb információt szeretne arról, hogy a hibakereső miért nem tudott kódtípushoz csatolni, próbálja meg csak erre a kódtípusra újracsatlakozni.
Konkrét információk beszerzése arról, hogy miért nem sikerült csatolni egy kódtípust
Válassza le a folyamatot. A Hibakeresés menüben válassza az Összes leválasztása lehetőséget.
Csatlakoztassa újra a folyamatot, és csak azt a kódtípust válassza ki, amelyet nem sikerült csatolni.
A Folyamat csatolása párbeszédpanelen válassza ki a folyamatot az Elérhető folyamatok listában.
A Kódtípus beállításban válassza ki azt a kódtípust, amelyet nem sikerült csatolni. Törölje a többi kódtípus kijelölését.
A Csatolás a folyamathoz párbeszédpanelen válassza a Csatolás lehetőséget.
Ezúttal a csatolás teljesen sikertelen lesz, és egy adott hibaüzenet jelenik meg.