Objek Tumpukan TTD
Deskripsi
Objek TTD Heap digunakan untuk memberikan informasi tentang panggilan timbunan yang terjadi selama pelacakan.
Properti
Setiap objek heap akan memiliki properti ini.
Properti | Deskripsi |
---|---|
Tindakan | Menjelaskan tindakan yang terjadi. Nilai yang mungkin adalah: Alokasi, Alokasi Ulang, Gratis, Buat, Lindungi, Kunci, Buka Kunci, Hancurkan. |
Tumpukan | Pegangan untuk timbunan Win32. |
Properti kondisional
Tergantung pada objek heap, mungkin memiliki beberapa properti di bawah ini.
Properti | Deskripsi |
---|---|
Alamat | Alamat objek yang dialokasikan. |
PreviousAddress | Alamat objek yang dialokasikan sebelum dialokasikan kembali. Jika Alamat tidak sama dengan PreviousAddress, maka realokasi menyebabkan memori bergerak. |
Ukuran | Ukuran dan/atau ukuran objek yang dialokasikan. |
BaseAddress | Alamat objek yang dialokasikan dalam heap. Ini dapat mewakili alamat yang akan dibebaskan (Gratis) atau alamat objek sebelum direalokasikan (ReAlloc.) |
Bendera | Artinya tergantung pada API. |
Hasil | Hasil dari panggilan API tumpukan. Bukan nol berarti keberhasilan dan nol berarti kegagalan. |
ReserveSize | Jumlah memori yang akan dicadangkan untuk timbunan. |
CommitSize | Ukuran penerapan awal untuk timbunan. |
MakeReadOnly | Nilai bukan nol menunjukkan permintaan untuk membuat heap baca-saja; Nilai nol menunjukkan heap harus baca-tulis. |
Anak-anak
Objek | Deskripsi |
---|---|
Mulai Waktu | Objek posisi yang menjelaskan posisi di awal alokasi. |
TimeEnd | Objek posisi yang menjelaskan posisi di akhir alokasi. |
Contoh Penggunaan
Gunakan perintah dx ini untuk menampilkan memori tumpukan dalam kisi menggunakan opsi -g.
0:0:000> dx -g @$cursession.TTD.Data.Heap()
=======================================================================================================================================================
= = Action = Heap = Address = Size = Flags = (+) TimeStart = (+) TimeEnd = Result = PreviousAddress =
=======================================================================================================================================================
= [0x0] : [object Object] - Alloc - 0xaf0000 - 0xb0cfd0 - 0x4c - 0x0 - FAB:17B1 - FAD:40 - - =
= [0x1] : [object Object] - Alloc - 0xaf0000 - 0xb07210 - 0x34 - 0x8 - FB1:9 - FB3:74 - - =
= [0x2] : [object Object] - Alloc - 0xaf0000 - 0xb256d8 - 0x3c - 0x8 - E525:174 - E526:E1 - - =
Output dapat digambarkan sebagai "data yang dinormalisasi" karena ada sekumpulan API yang dipilih yang mewakili operasi timbunan. Data yang diekstrak dari parameter yang sesuai, disajikan dengan cara yang seragam.
Mengklik TimeStart atau TimeEnd akan menavigasi Anda ke titik tersebut dalam pelacakan.
Klik bidang parameter di samping entri tertentu, untuk menampilkan informasi parameter yang tersedia.
dx -r1 @$cursession.TTD.Data.Heap()[2].@"Parameters"
@$cursession.TTD.Data.Heap()[2].@"Parameters"
[0x0] : 0x16c7d780000
[0x1] : 0x280000
[0x2] : 0x20
[0x3] : 0x0
Lihat juga
Penelusuran Kesalahan Perjalanan Waktu - Pengantar objek Penelusuran Kesalahan Perjalanan Waktu