Sdílet prostřednictvím


Přístup k paměti podle virtuální adresy

Pro přístup k adresě paměti nebo rozsahům adres můžete použít několik příkazů. Visual Studio a WinDbg poskytují prvky uživatelského rozhraní (a také příkazy), které můžete použít k zobrazení a úpravě paměti. Další informace naleznete v tématu Zobrazení a úpravy paměti v WinDbg (Classic).

Následující příkazy mohou číst nebo zapisovat paměť v různých formátech. Mezi tyto formáty patří šestnáctkové bajty, slova (slova, dvojslova a čtyřslova), celá čísla (krátká, dlouhá a čtyřnásobná čísla a bez znaménka), čísla s plovoucí desetinnou čárkou (10bajtová, 16bajtová, 32bajtová a 64bajtová reálná čísla) a znaky ASCII.

K zpracování specializovanějších datových typů můžete použít následující příkazy:

  • Příkaz dt (Display Type) najde řadu datových typů a zobrazí datové struktury vytvořené aplikací, která je laděná. Tento příkaz je vysoce všestranný a má mnoho variant a možností.

  • Příkaz ds, dS (Display String) zobrazí strukturu dat STRING, ANSI_STRING nebo UNICODE_STRING.

  • Příkaz dl (Sleduj a zobraz propojený seznam) sleduje a zobrazuje propojený seznam.

  • Příkaz d*s (zobrazovaná slova a symboly) najde dvojitá slova nebo čtyřslovná slova, která můžou obsahovat informace o symbolech, a pak zobrazí data a informace o symbolu.

  • Příkaz rozšíření !address zobrazí informace o vlastnostech paměti umístěné na konkrétní adrese.

K manipulaci s rozsahy paměti můžete použít následující příkazy:

Ve většině případů tyto příkazy interpretují své parametry v aktuálním radixu. Proto byste měli před šestnáctkovou adresou přidat 0x , pokud aktuální radix není 16. Výstup zobrazení těchto příkazů je však obvykle v šestnáctkovém formátu bez ohledu na aktuální radix. (Další informace o výstupu najdete v jednotlivých tématech o příkazech.) V okně Paměť se zobrazí celá čísla a reálná čísla v desítkovém formátu a zobrazí další formáty v šestnáctkovém formátu.

Pokud chcete změnit výchozí radix, použijte příkaz n (Set Number Base). Chcete-li rychle převést čísla z jedné základny na druhou, použijte ? (Vyhodnocení výrazu) nebo příkaz .formats (Zobrazit formáty čísel)

Při ladění v uživatelském režimu je význam virtuálních adres určen aktuálním procesem. Při ladění v režimu jádra může ladicí program řídit význam virtuálních adres. Další informace naleznete v tématu Kontext procesu.