Bagikan melalui


!Renang

Ekstensi !pool menampilkan informasi tentang alokasi kumpulan tertentu atau tentang seluruh kumpulan di seluruh sistem.

!pool [Address [Flags]]

Parameter

Alamat
Menentukan entri kumpulan yang akan ditampilkan. Jika Alamat -1, perintah ini menampilkan informasi tentang semua timbunan dalam proses.

Jika Alamat adalah 0 atau dihilangkan, perintah ini menampilkan informasi tentang timbunan proses.

Bendera
Menentukan tingkat detail yang akan digunakan. Ini bisa menjadi kombinasi dari nilai bit berikut; defaultnya adalah nol:

Bit 0 (0x1)
Menyebabkan tampilan menyertakan konten kumpulan, bukan hanya header kumpulan.

Bit 1 (0x2)
Menyebabkan tampilan menekan informasi header kumpulan untuk semua kumpulan, kecuali yang benar-benar berisi Alamat yang ditentukan.

Bit 31 (0x80000000)
Menekan deskripsi jenis kumpulan dan tag kumpulan dalam tampilan.

DLL

Kdexts.dll

Informasi Tambahan

Untuk informasi tentang kumpulan memori, lihat dokumentasi Windows Driver Kit (WDK) dan Microsoft Windows Internals, oleh Mark Russinovich dan David Solomon.

Keterangan

Di Windows XP dan versi Windows yang lebih baru, ekstensi !pool menampilkan tag kumpulan yang terkait dengan setiap alokasi. Pemilik tag kumpulan tersebut juga ditampilkan. Tampilan ini didasarkan pada isi file pooltag.txt. File ini terletak di subdirektori triase Alat Debugging Anda untuk penginstalan Windows. Jika ingin , Anda dapat mengedit file ini untuk menambahkan tag kumpulan tambahan yang relevan dengan proyek Anda.

Peringatan Jika Anda menginstal versi terbaru Alat Debugging untuk Windows di direktori yang sama dengan versi saat ini, itu menimpa semua file di direktori tersebut, termasuk pooltag.txt. Jika Anda mengubah atau mengganti sampel file pooltag.txt, pastikan untuk menyimpan salinannya ke direktori lain. Setelah menginstal ulang debugger, Anda dapat menyalin pooltag.txt yang disimpan melalui versi default.

Jika ekstensi !pool melaporkan kerusakan kumpulan, Anda harus menggunakan !poolval untuk menyelidiki.

Berikut adalah contohnya. Jika Alamat menentukan 0xE1001050, header semua kumpulan dalam blok ini ditampilkan, dan 0xE1001050 itu sendiri ditandai dengan tanda bintang (*).

kd> !pool e1001050 
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001040 size:   10 previous size:   40  (Free)       Mm  
*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001070 size:   10 previous size:   10  (Allocated)  Symt
 e1001080 size:   40 previous size:   10  (Allocated)  ObDm
 e10010c0 size:   10 previous size:   40  (Allocated)  ObDi
.....

Dalam contoh ini, kolom paling kanan memperlihatkan tag kumpulan. Kolom di sebelah kiri ini menunjukkan apakah kumpulan bebas atau dialokasikan.

Perintah berikut menunjukkan header kumpulan dan konten kumpulan:

kd> !pool e1001050 1
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001008  ffffffff 0057005c 004e0049 004f0044
    e1001018  ffffffff 0053005c 00730079 00650074

 e1001040 size:   10 previous size:   40  (Free)       Mm  
 e1001048  ffffffff e1007ba8 e1501a58 01028101
    e1001058  ffffffff 00000000 e1000240 01028101

*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001058  ffffffff 00000000 e1000240 01028101
    e1001068  ffffffff 00000000 e10009c0 01028101

 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001068  ffffffff 00000000 e10009c0 01028101
    e1001078  ffffffff 00000000 00000000 04028101

......