Dela via


WdbgExts Minnesåtkomst

Det här avsnittet innehåller en kort översikt över hur minnesåtkomst kan utföras med hjälp av WdbgExts-API:et. En översikt över minnesåtkomst i felsökningsmotorn finns i AvsnittetÖversikt över felsökningsmotorn i den här dokumentationen.

Virtuellt minne

Det virtuella minnet för målet kan läsas med hjälp av funktionen ReadMemory och skrivas med funktionen WriteMemory . Pekare i målets minne kan läsas och skrivas med hjälp av funktionerna ReadPointer, ReadPtr och WritePointer .

Om du vill söka i det virtuella minnet efter ett bytemönster använder du funktionen SearchMemory .

Funktionen TranslateVirtualToPhysical kan användas för att konvertera en virtuell minnesadress till en fysisk minnesadress.

Funktionen Disasm kan användas för att demontera en enskild sammansättningsinstruktion på målet.

Använd Ioctl-åtgärdenIG_LOWMEM_CHECK för att kontrollera de låga 4 GB av minnet för korruption när du använder fysiskt adresstillägg (PAE).

Fysiskt minne

Fysiskt minne kan bara nås direkt vid felsökning i kernelläge.

Det fysiska minnet på målet kan läsas med hjälp av funktionerna ReadPhysical och ReadPhysicalWithFlags och skrivas med hjälp av funktionerna WritePhysical och WritePhysicalWithFlags .

Om du vill söka i det fysiska minnet efter pekare till platser inom ett angivet intervall använder du Ioctl-åtgärdenIG_POINTER_SEARCH_PHYSICAL.

Andra datautrymmen

Vid felsökning i kernelläge är det möjligt att läsa och skriva data till en mängd olika datautrymmen utöver huvudminnet. Följande datautrymmen kan nås:

Control-Space minne
Funktionerna ReadControlSpace, ReadControlSpace64, ReadTypedControlSpace32 och ReadTypedControlSpace64 läser data från ett kontrollutrymme. Funktionen WriteControlSpace skriver data till ett kontrollutrymme.

I/O-minne
Funktionerna ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 läser data från systemets I/O-minne och buss-I/O-minne. Funktionerna WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx och WriteIoSpaceEx64 skriver data till systemets I/O-minne och buss-I/O-minne.

Modellspecifikt register (MSR)
Funktionerna ReadMsr och WriteMsr läser och skriver MSR:er.

System Bus
Ioctl-åtgärdernaIG_GET_BUS_DATA och IG_SET_BUS_DATA läsa och skriva systembussdata.

ytterligare information

Ett kraftfullare API för minnesåtkomst finns i Minnesåtkomst i avsnittet Använda API:et för felsökningsmotorn i den här dokumentationen.