Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Altyapı, hedefin sanal ve fiziksel belleğini okumak ve yazmak için bir dizi yöntem sağlar.
Sanal Bellek
Hedefin sanal belleğinde bir konum belirtirken hedefin sanal adres alanı kullanılır. Kullanıcı modunda hata ayıklamada, bu geçerli işlemin sanal adres alanıdır. Çekirdek modunda hata ayıklamada, bu örtük işlemin sanal adres alanıdır. Geçerli ve örtük işlem hakkında daha fazla bilgi için bkz. İş Parçacıkları ve İşlemler .
Sanal bellek (hedefin) ReadVirtual kullanılarak okunabilir ve WriteVirtual kullanılarak yazılabilir.
Hedefin belleğindeki işaretçiler ReadPointersVirtual ve WritePointersVirtual kolaylık yöntemleri kullanılarak okunabilir ve yazılabilir. Bu yöntemler, altyapı tarafından kullanılan 64 bit işaretçiler ile hedef tarafından kullanılan yerel işaretçiler arasında otomatik olarak dönüştürülür. Bu yöntemler, sonraki istekler için kullanılacak işaretçileri (örneğin, bir dize işaretçisi) içeren bellek istendiğinde kullanışlıdır.
Hedefin sanal belleğinde bayt deseni aramak için SearchVirtual ve SearchVirtual2 yöntemleri kullanılabilir.
FillVirtual yöntemi, bayt desenini hedefin sanal belleğine birden çok kez kopyalamak için kullanılabilir.
Hedefin sanal belleği, ReadVirtualUncached ve WriteVirtualUncached yöntemleri kullanılarak hata ayıklayıcı altyapısının sanal bellek önbelleğini atlayacak şekilde okunabilir ve yazılabilir. Önbelleksiz sürümler, önbelleği kirletmeden veya geçersiz kılmaksızın, bellekle eşlenen cihaz alanları gibi doğal olarak uçucu olan sanal belleği okumak için kullanışlıdır. Önbelleğe alınmamış erişimin performansı önbelleğe alınmış erişimden önemli ölçüde düşük olabileceğinden, önbelleğe alınmamış bellek erişimi yalnızca gerektiğinde kullanılmalıdır.
Motor, hedefin sanal belleğindeki dizeleri okumak için bazı yardımcı yöntemler sağlar. Hedeften çok baytlı bir dize okumak için ReadMultiByteStringVirtual ve ReadMultiByteStringVirtualWide kullanın. Hedeften bir Unicode dizesi okumak için ReadUnicodeStringVirtual ve ReadUnicodeStringVirtualWide kullanın.
Bellek konumu hakkında bilgi bulmak için GetOffsetInformation kullanın. Hedefteki sanal adres alanının tümü geçerli bellek içermiyor. Bir bölge içinde geçerli bellek bulmak için GetValidRegionVirtual kullanın. Hedefte el ile geçerli bellek ararken GetNextDifferentlyValidOffsetVirtual yöntemi, geçerliliğin değişebileceği bir sonraki konumu bulur.
Fiziksel Bellek
Fiziksel belleğe yalnızca çekirdek modunda hata ayıklamada doğrudan erişilebilir.
Hedef üzerindeki fiziksel bellek ReadPhysical ve ReadPhysical2 kullanılarak okunabilir ve WritePhysical ve WritePhysical2 kullanılarak yazılabilir.
FillPhysical yöntemi, hedefin fiziksel belleğine bayt desenini birden çok kez kopyalamak için kullanılabilir.
VirtualToPhysical yöntemi kullanılarak hedefin sanal adres alanında bulunan bir adres, hedefteki fiziksel bir adrese çevrilebilir. Sistemin sanal adresi fiziksel bir adrese çevirmek için kullanılan disk belleği yapıları GetVirtualTranslationPhysicalOffsets kullanılarak bulunabilir.
Etkinlikler
Hedefin sanal veya fiziksel belleği değiştirildiğinde , IDebugEventCallbacks::ChangeDebuggeeState geri çağırma yöntemi çağrılır.