Helyi változók megtekintése és szerkesztése a WinDbg-ben (klasszikus)

A WinDbg-ben a helyi változókat parancsok beírásával, a Helyiek ablak vagy a Figyelő ablak használatával tekintheti meg.

Hibakereső parancsablaka

A helyi változók és paraméterek megtekintéséhez írja be a dv parancsot vagy a dt parancsot a Hibakereső parancs ablakába.

A Helyiek ablak megnyitása

A Helyiek ablak az aktuális hatókör összes helyi változójára vonatkozó információt jeleníti meg.

A Helyiek ablak megnyitásához vagy váltáshoz a WinDbg ablak Nézet menüjében válassza a Helyiek lehetőséget. (Az ALT+3 billentyűkombinációt is lenyomhatja, vagy kiválaszthatja a Helyiek gombot az eszköztáron. ALT+SHIFT+3 bezárja a Helyiek ablakot.)

Az alábbi képernyőképen egy Helyiek ablak látható.

Képernyőkép a WinDbg Helyiek ablakáról.

A Helyiek ablak négy oszlopot tartalmazhat. A #B0 Név #C1 és #B2 Érték #C3 oszlopok mindig megjelennek, a #B4 Típus #C5 és #B6 Hely #C7 oszlopok megadása nem kötelező. A Típusés hely oszlop megjelenítéséhez válassza a Typecast és a Locations (Hely) gombot az eszköztáron.

A Helyiek ablak használata

A Helyiek ablakban a következőket teheti:

  • A Név oszlop az egyes helyi változók nevét jeleníti meg. Ha egy változó adatstruktúra, a neve mellett megjelenik egy jelölőnégyzet. A struktúratagok megjelenítésének kibontásához vagy összecsukásához jelölje be vagy törölje a jelet a jelölőnégyzetből.

  • Az Érték oszlop az egyes változók aktuális értékét jeleníti meg.

    • A változó új értékének megadásához kattintson duplán az aktuális értékre, írja be az új értéket, vagy szerkessze a régi értéket. (A kivágási, másolási és beillesztési parancsok szerkesztésre használhatók.) Bármilyen C++ kifejezést beírhat.
    • Az új érték mentéséhez nyomja le az ENTER billentyűt.
    • Az új érték elvetéséhez nyomja le az ESC billentyűt.
    • Ha érvénytelen értéket ír be, a régi érték újra megjelenik az ENTER billentyűt lenyomva.

    A int típusú egész számok decimális értékekként jelennek meg; Az aktuális radixban az UINT típusú egész számok jelennek meg. Az aktuális radix módosításához használja az n (Számbázis beállítása) parancsot a Hibakereső parancs ablakában.

  • A Típus oszlop (ha a Helyiek ablakban jelenik meg) az egyes változók aktuális adattípusát jeleníti meg. Minden változó a saját adattípusának megfelelő formátumban jelenik meg. Az adatstruktúrák típusnevei a Típus oszlopban szerepelnek. Más változótípusok az "Új típus megadása" értéket jelenítik meg ebben az oszlopban.

    Ha duplán kattint az "Új típus megadása" opcióra, új adattípus beírásával beállíthat egy új típust. Ez az átalakítás csak a Helyi változók ablakban módosítja a változó jelenlegi megjelenítését; nem változtat semmit a hibakeresőben vagy a célszámítógépen. Ezenkívül ha új értéket ad meg az Érték oszlopban, a beírt szöveg a szimbólum tényleges típusa alapján lesz elemezve, nem pedig a Típus oszlopban megadott új típus helyett. Ha bezárja és újra megnyitja a Helyiek ablakot, elveszíti az adattípus-módosításokat.

    A Típus oszlopba bővítményparancsot is beírhat. A hibakereső átadja a szimbólum címét ennek a bővítménynek, és az eredmény az aktuális sor alatt összecsukható sorok sorozatában jelenik meg. Ha például az ebben a sorban szereplő szimbólum érvényes cím egy szálkörnyezeti blokkhoz, akkor írja be a !teb parancsot a Típus oszlopba, hogy futtassa a !teb kiterjesztést a szimbólum címén.

  • A Hely oszlop (ha megjelenik a Helyiek ablakban) az adatstruktúra egyes részeinek eltolását jeleníti meg.

  • Ha egy helyi változó egy virtuális táblát tartalmazó osztály példánya, a Név oszlop megjeleníti a virtuális táblákat, és kibonthatja a virtuális táblákat a függvénymutatók megjelenítéséhez. Ha egy Vtable egy származtatott implementációra hivatkozó alaposztályban található, akkor a jelölés _vtcast_Class jelenik meg, amely a származtatott osztály miatt hozzáadott tagokat jelzi. Ezek a tagok a származtatott osztálytípushoz hasonlóan bővülnek.

  • A helyi környezet határozza meg, hogy mely helyi változók jelenjenek meg a Helyiek ablakban. Ha a helyi környezet bármilyen okból megváltozik, a Helyiek ablak automatikusan frissül. Alapértelmezés szerint a helyi környezet megegyezik a programszámláló aktuális pozíciójával. A helyi környezet módosításáról további információt a Helyi környezet című témakörben talál.

A Helyiek ablakban egy eszköztár található, amely két gombot (Typecast és Locations) és egy helyi menüt tartalmaz további parancsokkal. A menü eléréséhez jelölje ki és tartsa lenyomva az ablak címsorát (vagy kattintson rá a jobb gombbal), vagy válassza az ikont az ablak jobb felső sarkában. Az eszköztár és a menü az alábbi gombokat és parancsokat tartalmazza.

  • (Eszköztár és menü) A Typecast be- és kikapcsolja a Típus oszlop megjelenítését.

  • (Eszköztár és menü) A helyek oszlopának megjelenítését be- és kikapcsolja.

  • (Csak menü) 16 bites értékek megjelenítése Unicode-sztringekként ebben az ablakban. Ez a parancs be- és kikapcsol egy globális beállítást, amely hatással van a Helyiek ablakra, a Figyelő ablakra és a hibakereső parancs kimenetére. Ez a parancs egyenértékű a .enable_unicode (Unicode megjelenítés engedélyezése) paranccsal.

  • (Csak menü) Ha mindig az alapértelmezett radixban jeleníti meg a számokat , az egész számok az alapértelmezett radixban jelennek meg ahelyett, hogy decimális formátumban jelenítenék meg őket. Ez a parancs be- és kikapcsol egy globális beállítást, amely hatással van a Helyiek ablakra, a Figyelő ablakra és a hibakereső parancs kimenetére. Ez a parancs egyenértékű a .force_radix_output (Radix használata egész számokhoz) paranccsal.

    Jegyzet Az Mindig alapértelmezett számrendszerben jelenítse meg a számokat parancs nem befolyásolja a hosszú egész számokat. A hosszú egész számok decimális formátumban jelennek meg, hacsak nincs beállítva a .enable_long_status (Enable Long Integer Display) parancs. A .enable_long_status parancs hatással van a Helyiek ablakban, a Figyelő ablakban és a hibakereső parancs kimenetében megjelenő megjelenítésre; a Helyiek ablak menüjében nincs ezzel egyenértékű parancs.

  • (Csak menü) A kijelölt értékhez tartozó memóriaablak megnyitása egy új rögzített memóriaablakot nyit meg, amely a kijelölt kifejezés címétől kezdve jeleníti meg a memóriát.

  • (Csak menü) A kijelölt memóriaérték meghívása a dt (Megjelenítési típus) parancsot futtatja a kiválasztott szimbólummal paraméterként. Az eredmény megjelenik a Hibakereső parancs ablakban. A -n beállítás automatikusan megkülönbözteti a szimbólumot egy hexadecimális címtől. Nincs más lehetőség. Vegye figyelembe, hogy a menükijelöléssel előállított tartalom megegyezik a parancssorból a dt parancs futtatásakor létrehozott tartalommal, de a formátum kissé eltérő.

  • (Csak menü) Az eszköztár be- és kikapcsolja az eszköztárat.

  • (Csak menü) A dokkolás vagy a kikapcsolás hatására az ablak be- vagy kilép a rögzített állapotból.

  • (Csak menü) Az áthelyezés új dokkolóba bezárja a Helyiek ablakot, és megnyitja azt egy új dokkolóban.

  • (Csak menü) Az ablaktípus tab-dock célként való beállítása nem érhető el a Helyiek ablakban. Ez a beállítás csak forrás- vagy memóriaablakokban érhető el.

  • (Csak menü) Az ablak mindig lebegő állapotban marad, még akkor is, ha egy dokkolóhelyre húzza.

  • (Csak menü) A kerettel való áthelyezés hatására az ablak a WinDbg-keret áthelyezésekor is elmozdul, még akkor is, ha az ablak ki van állítva.

  • (Csak menü) A súgó a windowsos hibakeresési eszközök dokumentációjában nyitja meg ezt a témakört.

  • (Csak menü) Bezárja ezt az ablakot.

A Figyelő ablak

A WinDbg-ben a Watch ablak használatával megjelenítheti és módosíthatja a helyi változókat. A Figyelő ablakban megjelenítheti a kívánt változók listáját. Ezek a változók tartalmazhatnak globális változókat és helyi változókat bármely függvényből. A Figyelő ablak bármikor megjeleníti az aktuális függvény hatókörének megfelelő változók értékeit. Ezen változók értékeit a Figyelő ablakban is módosíthatja.

A Helyiek ablaktól eltérően a Figyelő ablakot nem érintik a helyi környezet változásai. Csak az aktuális programszámláló hatókörében definiált változók jeleníthetik meg vagy módosíthatják az értékeiket.

A Figyelő ablak megnyitásához válassza a Watch a Nézet menüből. Az ALT+2 billentyűkombinációt is lenyomhatja, vagy az eszköztár Figyelő gombját is választhatja. AZ ALT+SHIFT+2 billentyűkombináció bezárja a Figyelő ablakot.

Az alábbi képernyőképen egy Figyelő ablak látható.

Képernyőkép a WinDbg Watch ablakáról.

A Figyelő ablak négy oszlopot tartalmazhat. A #B0 Név #C1 és #B2 Érték #C3 oszlopok mindig megjelennek, a #B4 Típus #C5 és #B6 Hely #C7 oszlopok megadása nem kötelező. A Típusés hely oszlop megjelenítéséhez válassza a Typecast és a Locations (Hely) gombot az eszköztáron.

Lásd még

A helyi változók szabályozásáról, a változók használatáról és a hatókör módosításáról, valamint a memóriával kapcsolatos egyéb parancsok leírásáról további információt az Olvasás és a Memória írása című témakörben talál.