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.
Açıklama
TTD Bellek beginAddress, endAddress ve dataAccessMask parametrelerini alan ve bellek erişim bilgileri içeren bir bellek nesneleri koleksiyonu döndüren bir yöntemdir.
Parametreler
| Mülkiyet | Açıklama |
|---|---|
| başlangıç adresi | 0x ile başlayan bellek nesnesinin başlangıç adresi. |
| bitiş adresi | 0x ile başlayan bellek nesnesinin bitiş adresi. |
| veriErişimMaskesi | Çift tırnak içinde yer alan veri erişim maskesi. Bu okuma için r, yazma için w, yürütme için e ve değişiklik için c olabilir. |
Children
| Nesne | Açıklama |
|---|---|
| EtkinlikTürü | Olayın türü. Bu, tüm TTD.Memory nesneleri için "MemoryAccess"tir. |
| ThreadId | İsteği yapan iş parçacığının işletim sistemi iş parçacığı kimliği. |
| UniqueThreadId | İzleme genelinde iş parçacığı için benzersiz bir kimlik. Normal iş parçacığı kimlikleri bir işlemin ömrü boyunca yeniden kullanılabilir, ancak UniqueThreadId'ler kullanılamaz. |
| TimeStart | Bellek erişiminin ne zaman yapıldığını açıklayan bir konum nesnesi . |
| ZamanSonu | Bellek erişiminin ne zaman yapıldığını açıklayan bir konum nesnesi . Bu her zaman TTD.Memory nesneleri için TimeStart ile aynı olacaktır. |
| Erişim Türü | Erişim türü : Okuma, Yazma veya Yürütme. |
| İnternet Protokolü (IP) | Bellek erişimi yapan kodun yönerge işaretçisi. |
| Adres | Bellek() içindeki parametreler arasında [beginAddress, endAddress) aralığında okunan / yazılan / yürütülen Adres. Aralığın yarı açık olduğunu unutmayın. Başka bir ifadeyle, döndürülen olayların hiçbiri endAddress ile eşleşen bir adrese sahip olmayacaktır, ancak endAddress - 1 ile eşleşen olaylar olabilir. |
| Boyut | Bayt cinsinden okuma/yazma/yürütme boyutu. Bu genellikle 8 bayt veya daha az olur. Kod yürütülmesi durumunda, yürütülen yönergedeki bayt sayısıdır. |
| Değer | Okunan, yazılan veya yürütülen değer. Yürütme durumunda yönerge için kod baytlarını içerir. Yönerge baytlarının ayrıştırıcı tarafından MSB sırasına göre listelendiğini ancak LSB sırasına göre değer olarak depolanacağına dikkat edin. |
Açıklamalar
TTD'de aşağıdaki erişim türlerine izin verilir. Bellek sorguları:
- r - okuma
- w - yaz
- rw - okuma / yazma
- e - çalıştır
- rwe - okuma / yazma / yürütme
- ec - /change komutunu yürüt
Bunun hesaplamayı çalıştıran bir işlev olduğunu, bu nedenle çalıştırılmasının biraz zaman aldığını unutmayın.
Örnek Kullanım
Bu örnekte, 0x00a4fca0 başlayan dört bayt belleğin okuma erişiminin gerçekleştiği izlemedeki tüm konumların kılavuz görüntüsü gösterilir. Bellek erişiminin her örneğinde detaya gitmek için herhangi bir girdiye tıklayın.
dx -g @$cursession.TTD.Memory(0x00a4fca0,0x00a4fca4, "r")
Kılavuz görüntüsündeki herhangi bir olayda TimeStart alanlarına tıklayarak bu olaya ilişkin bilgileri görüntüleyebilirsiniz.
0:000> dx -r1 @$cursession.TTD.Memory(0x00a4fca0,0x00a4fca4, "r")[16].TimeStart
@$cursession.TTD.Memory(0x00a4fca0,0x00a4fca4, "r")[16].TimeStart : 5D:113 [Time Travel]
Sequence : 0x5d
Steps : 0x113
Olayın oluştuğu izlemedeki konuma gitmek için [Zaman Yolculuğu] öğesine tıklayın.
0:000> dx @$cursession.TTD.Memory(0x00a4fca0,0x00a4fca4, "r")[16].TimeStart.SeekTo()
@$cursession.TTD.Memory(0x00a4fca0,0x00a4fca4, "r")[16].TimeStart.SeekTo()
(27b8.3168): Break instruction exception - code 80000003 (first/second chance not available)
Time Travel Position: 5D:113
eax=0000004c ebx=00dd0000 ecx=00a4f89c edx=00a4f85c esi=00a4f89c edi=00b61046
eip=690795e5 esp=00a4f808 ebp=00a4f818 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
690795e5 ffb604040000 push dword ptr [esi+404h] ds:002b:00a4fca0=00000000
Bu örnekte, izlemedeki 0x1bf7d0 başlayan dört bellek baytının okunduğu/yazıldığı konumların tümü listelenir. Bellek erişiminin her örneğinde detaya gitmek için herhangi bir girdiye tıklayın.
0:000> dx @$cursession.TTD.Memory(0x1bf7d0,0x1bf7d4, "rw")
@$cursession.TTD.Memory(0x1bf7d0,0x1bf7d4, "rw")
[0x0]
[0x1]
[0x2]
[0x3]
...
Bu örnekte, izlemedeki 0x13a1710'de başlayan dört bellek baytının yürütüldüğü/değiştirildiği konumların tümü listelenir. Herhangi birine tıklayarak bellek erişiminin her oluşumu hakkında ek bilgi edinin.
0:000> dx -r1 @$cursession.TTD.Memory(0x13a1710,0x13a1714, "ec")[0]
@$cursession.TTD.Memory(0x13a1710,0x13a1714, "ec")[0]
EventType : MemoryAccess
ThreadId : 0x1278
UniqueThreadId : 0x2
TimeStart : 5B:4D [Time Travel]
TimeEnd : 5B:4D [Time Travel]
AccessType : Execute
IP : 0x13a1710
Address : 0x13a1710
Size : 0x1
Value : 0x55
Ayrıca Bkz.
Zaman Yolculuğu Hata Giderme - Zaman Yolculuğu Hata Giderme nesnelerine giriş