Nyelv
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 Szálak ablak a Visual Studio hibakeresőjében lehetővé teszi a hibakeresési alkalmazás szálainak vizsgálatát és használatát. Az ablak funkciókat szolgáltat a kódban lévő szálak csoportosítására, rendezésére, megjelölésére, "lefagyasztására," visszaállítására és keresésére, valamint a hívásveremek megjelenítésére.
A Szálak ablak csak akkor érhető el, ha a Visual Studio hibakeresője fut. Hibakeresési munkamenet során megnyithatja az Ablakot, ha a Hibakeresés>Windows>Szálaklehetőséget választja.
Ez a cikk ismerteti, hogyan használhatja a Szálak ablakot a C#, Visual Basic vagy C++ programjaiban. A Párhuzamos verem ablakban található Szálak nézet azonban gyakran hasznosabb a hibakereséshez. További információ: Holtpont hibakeresése a Szálak nézetben , valamint a Szálak és feladatok megtekintése a Párhuzamos verem ablakban.
A Szálak ablak táblázatának megtekintése
A Szálak ablak egy táblázatot jelenít meg, amelyben minden sor egy külön szálnak felel meg az alkalmazásban. Az alapértelmezett nézetben a táblázat az alkalmazás összes szálát megjeleníti. A táblabeállításokat úgy konfigurálhatja, hogy csak az Önt érdeklő szálak jelenjenek meg. A táblázat több oszlopot biztosít a szálak részletes leírásához. Módosíthatja az oszlopok elhelyezését, és elrejtheti a szükségtelen oszlopokat.
Az alábbi táblázat ismerteti a Szálak ablak táblájában elérhető összes oszlopot, és jelzi, hogy az oszlop az alapértelmezett nézetben látható vagy rejtett-e. Az oszlopok az alapértelmezett táblázatpozíciójuk szerint jelennek meg balról jobbra.
| Oszlop | Alapértelmezett | Leírás |
|---|---|---|
| zászló | Látható, címkézetlen | Az oszlopban piros zászlók jelzik a különleges figyelmet igénylő szálakat. Válassza ki a zászlót (az ikon színe pirosra változik) a szál megjelöléséhez vagy a jelölés megszüntetéséhez (az ikon a zászló körvonalává változik). A színes jelölő ikon segít megkülönböztetni a megjelölt szálakat a táblázat más szálaitól. További információ: Jelölő és szálbontás. |
| aktuális szál | Látható, címkézetlen | Az oszlop sárga nyíl ikonja a hibakeresőben futó alkalmazás aktuális szálát jelzi. Az oszlopban található nyílvázlat ikon egy nem ismétlődő szál aktuális hibakereső környezetét jelzi. |
| azonosító | Látható | Megadja az egyes szálak azonosítószámát. |
| Felügyelt Azonosító | Látható | Megjeleníti a felügyelt szálak felügyelt azonosítószámait. |
| kategória | Látható | A szálak kategóriáját felhasználói felületi szálként, távoli eljáráshívás-kezelőként vagy feldolgozószálként jelöli. Egy speciális kategória azonosítja az alkalmazás fő szálát. |
| név | Látható | Azonosítja az egyes szálakat a nevével, vagy <Nincs név>, ha a szálnak nincs megadott neve. Ha egy szál már nem létezik, a szál címkéje [Thread Destroyed]. |
| hely | Látható | Megjeleníti, hogy a szál hol fut az alkalmazáshívási veremen belül. A legördülő nyilat választva megtekintheti a szál teljes hívásveremét. Ha egy szál már nem létezik, a lokáció <nem érhető el>. |
| prioritási | Rejtett | Megjeleníti a rendszer által az egyes szálakhoz rendelt prioritást vagy elsőbbséget. |
| affinitási maszk | Rejtett | Megjeleníti az egyes szálak processzor affinitási maszkját. A többprocesszoros rendszerekben az affinitási maszk határozza meg a processzorokat, amelyeken egy szál futtatható. |
| felfüggesztett darabszám | Rejtett | Megadja a felfüggesztettek számát. Ez a szám határozza meg, hogy egy szál futtatható-e. További információkért lásd: Szálak lefagyasztása és felolvasztása. |
| folyamatnév | Rejtett | Megjeleníti azt a folyamatot, amelyhez az egyes szálak tartoznak. Az oszlopban szereplő adatok számos folyamat hibakeresése esetén hasznosak lehetnek. |
| folyamat-azonosító | Rejtett | Azt a folyamatazonosítót jeleníti meg, amelyhez az egyes szálak tartoznak. |
| Szállítmányozási minősítő | Rejtett | Egyedileg azonosítja azt a gépet, amelyhez a hibakereső csatlakozik. |
Táblázatoszlopok megjelenítése és elrejtése
A Szálak ablak eszköztárában a Oszlopok legördülő lista az elérhető oszlopok listáját jeleníti meg. Bontsa ki a legördülő listát, és válasszon egy oszlopnevet a láthatóságának a táblában való váltásához. A látható oszlopok pipával vannak jelölve a listában.
Jelölőszálak különleges figyelmet
A zászló ikonnal megjelölhet szálakat különleges figyelemért. A megjelölt szálakat a Szálak ablaktábla piros jelölő ikonja jelzi. További információ: Jelölő és szálbontás.
Csak megjelölt szálak megjelenítése
Szűrheti a Szálak ablakot, hogy csak megjelölt szálak jelenjenek meg. A Szálak ablak eszköztárán válassza a Csak megjelölt szálak megjelenítése (dupla jelölő ikon) lehetőséget. A Ctrl + 9 billentyűparancsot is használhatja. Ez a művelet csak megjelölt szálak esetén érhető el.
Szálak fagyasztása és kiolvasztása
Egy szál rögzítésekor a rendszer nem indítja el a szál végrehajtását, még akkor sem, ha rendelkezésre állnak erőforrások.
Natív kódban felfüggesztheti vagy folytathatja a szálakat a Windows-függvények SuspendThread és ResumeThreadmeghívásával. Az MFC-függvényeket CWinThread::SuspendThread és CWinThread::ResumeThreadis meghívhatja. Ha meghívja a SuspendThread vagy ResumeThread függvényt, a felfüggesztett darabszám jelenik meg a Szálak ablakban. A felfüggesztettek száma nem változik, ha natív szálat fagyaszt vagy olvaszt fel. A szál csak akkor hajtható végre natív kódban, ha feloldódik, és a felfüggesztett száma nulla.
A felügyelt kódban a felfüggesztett darabszám megváltozik egy szál rögzítésekor vagy felolvasztásakor. Ha a felügyelt kódban zárol egy szálat, annak felfüggesztett száma 1. Ha natív kód használatakor megfagyaszt egy szálat, a felfüggesztések száma 0, kivéve, ha a SuspendThread hívást használja.
Jegyzet
Ha natív kódból kezelt kódba irányuló hívást hibakeresés során vizsgál, a kezelt kód ugyanabban a fizikai szálban fut, mint a hívást kezdeményező natív kód. A natív szál felfüggesztése vagy rögzítése a felügyelt kódot is zárolja.
Kijelölt szálak végrehajtásának módosítása
Egy vagy több szál végrehajtását lefagyaszthatja vagy felolvaszthatja. A Szálak ablakban jelölje ki azokat a szálakat, amelyek végrehajtási állapotát frissíteni szeretné. A Szálak ablak eszköztárán válassza a Szálak rögzítése (lejátszás szünet ikon) vagy A szálak feloldása (zöld lejátszás ikon) lehetőséget. A művelet csak az aktuálisan kijelölt szálakra vonatkozik. A rögzítési és felolvasztási műveletek az egyes szálak jobb gombbal kattintva elérhető helyi menüjében is elérhetők.
Az aktuális szál módosítása
A Szálak ablaktábla sárga nyíl ikonja jelzi az aktuális szálat (és a végrehajtási mutató helyét). Az eredeti aktuális száljelölő is megmarad (egy nyíl körvonal ikonnal jelenik meg).
Váltás másik szálra
A hibakeresőben kétféleképpen válthatja át az aktuális szálat. Kattintson duplán a Szálak ablaktábla bármelyik szálára, hogy az legyen az aktuális szál. Másik lehetőségként kattintson a jobb gombbal egy szálra, és válassza a Váltás szálralehetőséget.
Csoportosítás és rendezés alkalmazása szálakra
A Szálak ablaktábla szálait az elérhető oszlopokkal megegyező feltételekkel csoportosíthatja. A csoportosításhoz minden feltétel mindig elérhető, függetlenül attól, hogy a megfelelő oszlop látható-e az aktuális nézetben. A táblához csak egy csoportosítást választhat.
A szálak csoportosításakor az egyes csoportok táblázatában egy címsor jelenik meg. A címsor tartalmazza a csoport leírását, valamint a csoport tagjainak számát. Ha Névszerint csoportosít, olyan címsorokat láthat, mint a Feldolgozószál vagy Nem jelölt szálak. Az egyes csoportfejlécek mellett megjelenik egy kibontás/összecsukás nyíl ikon.
Miután alkalmaz egy csoportosítási feltételt, a Szálak ablak nézete frissül, hogy az egyes csoportok tagszálai megjelenjenek a címsoruk alatt. A csoporthoz tartozó kibontás/összecsukás nyíl ikonnal megjelenítheti vagy elrejtheti a tagokat az aktuális nézetben.
Egyetlen rendezési feltételt is alkalmazhat a Szálak ablaktábla szálaira. A csoportosítás elsőbbséget élvez a rendezéssel szemben. Csoportosíthatja például a szálakat Kategória szerint, majd az egyes Kategóriánbelül azonosító alapján rendezheti őket.
A táblázat szálainak csoportosítása
A Szálak ablak eszköztárán bontsa ki a Csoportosítás alapján legördülő listát, és válassza ki a szálak csoportosításának kritériumait. Az alkalmazott csoportosítást úgy is eltávolíthatja, ha a Nincs lehetőséget választja a Csoport legördülő listában.
A táblázat szálainak rendezése
Rendezést alkalmazhat a Szálak ablaktábla szálaira a táblázat tetején található oszlopfejlécek kiválasztásával, például Név vagy azonosító.
Amikor kiválaszt egy oszlopfejlécet, a Szálak ablaktábla nézete frissül a kijelölt oszlop értékei szerint rendezett szálak megjelenítéséhez. A kijelölt oszlopban egy fel/le nyíl ikon is látható. A felfelé mutató nyíl ikon a kijelölt oszlop szerinti rendezést jelzi növekvő sorrendben. A lefelé mutató nyíl ikon a kijelölt oszlop szerinti rendezést jelzi csökkenő sorrendben. Válassza ki az oszlopfejlécet a rendezési sorrend módosításához.
Szálak csoportokon belüli rendezése
A Szálak ablakban lévő csoportokon belüli szálak rendezéséhez először használja a Csoportosítás legördülő listát a csoportosítási kritériumok kiválasztásához. Ezután jelölje ki az oszlopfejlécet, hogy a csoportosított szálakat a kijelölt oszlop értékei szerint rendezze.
Az összes csoport kibontása vagy összecsukása
Az aktuális nézetben gyorsan megjelenítheti vagy elrejtheti az összes csoportosítást. A Szálak ablak eszköztárán válassza a Csoportok kibontása (dupla négyzet ikon plusz jellel) vagy Csoportok összecsukása (dupla négyzet ikon mínusz jellel).
Szálak keresése
A Szálak ablaktáblában kereshet a szálak között, és megkeresheti a látható táblaoszlopok adott tartalmát. A keresés során a Visual Studio megjeleníti azokat a szálsorokat, amelyek oszlopadatai megegyeznek a keresési sztringgel. A keresés a hívásverem tetején megjelenő szál helyét is megvizsgálja a Hely oszlopban.
Adott tartalom keresése szálakban
Több módon is kereshet szálakat adott tartalmakra. A Szálak ablak eszköztárában adja meg a keresett karakterláncot a Keresés mezőben, majd nyomja meg az Entert. A keresési sztringben megadhat betűket, számokat és speciális karaktereket, például <. Amikor a keresés befejeződött, a szálak ablak frissíti a táblázatot, hogy egyező találatokkal jelenjenek meg a szálak. A Visual Studio kiemeli a keresési kifejezésnek megfelelő példányokat. A normál szálnézethez való visszatéréshez válassza a Keresés mező melletti X ikont.
Kereshet egy korábban keresett karakterláncot is. Használja a Keresés legördülő menüt, és válasszon ki egy korábbi keresési kifejezést.
Keresés a teljes hívási veremben
Alapértelmezés szerint a teljes hívásverem nincs átvizsgálva. A Visual Studio csak a Szálak ablaktáblában látható szálakban keres egyezést.
Kiválaszthatja a teljes hívásveremet a kereséshez úgy, hogy rákattint a Hívásverem belefoglalása a keresésbe (listaelem ikon) opcióra a Szálak ablak eszköztárán. Ha a beállítás engedélyezve van, a listaelem ikonjának szegélye van.
Hívásveremek megjelenítése és váltás a hívási keretek között
A többszálas programokban minden szál saját hívásveremtel rendelkezik. A Szálak ablakban kényelmesen megtekintheti ezeket a veremeket.
Borravaló
Az egyes szálak hívásveremének vizuális megjelenítéséhez használja a Párhuzamos veremek ablakot.
Hívásverem megtekintése a szálhoz
A Szálak ablaktáblában keresse meg azt a szálat, amelynek a teljes hívásveremét meg szeretné vizsgálni. A Hely oszlopban kattintson a kibontás/összecsukás nyílra a szál pozíciójától balra. A hely kibővül a szál teljes hívásveremének megjelenítéséhez. Csak a hely megjelenítéséhez jelölje ki ismét a nyilat.
Az összes hívásverem megtekintése vagy összecsukása
Beállíthatja, hogy a Szálak ablakban mindig megjelenjenek-e a tábla összes szálának teljes hívásveremei. A Szálak ablak eszköztárán válassza a Hívásverem kibontása (doboz ikon plusz jellel) vagy Hívásverem összecsukása (doboz ikon mínusz szimbólummal).