Select the product you need help with
Cara menggunakan Pageheap.exe di Windows XP, Windows 2000 dan Windows Server 2003ID Artikel: 286470 - Melihat produk di mana artikel ini berlaku. Pada Halaman iniRINGKASAN Artikel ini menjelaskan cara menggunakan alat Page Heap
(Pageheap.exe) di Microsoft Windows XP, Microsoft Windows 2000 dan Microsoft Windows Server 2003. INFORMASI LEBIH LANJUT Pageheap.exe menetapkan bendera tumpukan halaman yang membantu untuk menemukan
tumpukan yang berhubungan dengan korupsi. Itu juga dapat membantu mendeteksi kebocoran dalam program-program yang
berjalan pada Windows 2000 Professional Paket Layanan 2 (SP2) dan Windows XP
Sistem profesional. Pageheap.exe memperkenalkan perangkat lunak validasi lapisan (Page Heap manajer) antara aplikasi dan sistem yang memverifikasi semua memori dinamis operasi (alokasi, membebaskan, dan operasi tumpukan lainnya). Ketika manajer Page Heap diaktifkan, aplikasi yang sedang diuji adalah kemudian dimulai di bawah debugger. Jika masalah yang dihadapi, hal itu akan menyebabkan debugger istirahat. Penting Pageheap.exe tidak menentukan apa bug, tapi itu akan crash sistem ketika masalah yang dihadapi. Ini memungkinkan verifikasi lapisan yang sudah ada di Ntdll.dll sistem perpustakaan di Windows 2000 Professional SP2 dan Windows XP Professional. Pageheap.exe tidak akan bekerja pada sebelumnya Versi Microsoft Windows. Jika aplikasi yang sedang diuji tidak dimulai di bawah debugger dan bug dijumpai, itu hanya akan kecelakaan tanpa setiap umpan balik. KonsepMasalah umum dalam pengembangan aplikasi adalah tumpukan korupsi. Hal ini biasanya terjadi ketika sebuah aplikasi mengalokasikan blok memori tumpukan mengingat ukuran dan kemudian menulis ke alamat memori melampaui ukuran diminta tumpukan blok. Galat memori juga dapat terjadi ketika sebuah aplikasi menulis untuk memblokir memori yang telah dibebaskan.Dua konsep pusat memahami perintah-perintah yang berhubungan dengan Pageheap.exe dan cara menggunakannya:
Lokasi download untuk alat PageheapUntuk men-download paket alat debug terbaru, klik berikut link:http://www.microsoft.com/whdc/devtools/debugging/default.mspx
(http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
Pilih rilis terbaru dari alat-alat debug. Ketika Anda menginstal alat-alat, pilih Custom instalasi, dan kemudian instal ke sebuah direktori dengan nama yang sesuai. Sebagai contoh, menginstal alat untuk C:\Debug atau C:\Debugtools. Memilih metode untuk menyelidiki tumpukan blok korupsiSebagian besar dari korupsi dalam tumpukan blok dapat ditemukan di salah satu dua cara:
Halaman penuh tumpukanHalaman penuh tumpukan harus diaktifkan untuk tiap proses, atau di bawah parameter terbatas untuk proses besar, karena memori tinggi persyaratan. Itu tidak dapat diaktifkan sistem-lebar, karena sulit untuk mengevaluasi ukuran file halaman diperlukan. Menggunakan file halaman yang terlalu kecil dengan sistem-lebar halaman penuh tumpukan menjadikan sistem unbootable.The keuntungan dari halaman penuh tumpukan adalah bahwa hal itu menyebabkan proses untuk akses melanggar (AV) tepat di titik dari kegagalan. Ini memudahkan kegagalan untuk debug. Dalam rangka untuk dapat menunjukkan kegagalan, pertama menggunakan halaman normal tumpukan untuk menentukan berkisar di mana proses gagal, dan kemudian menggunakan halaman penuh tumpukan pada individu skala besar proses yang terbatas kelas alokasi (yaitu berbagai ukuran tertentu atau perpustakaan tertentu). Normal halaman tumpukanTumpukan halaman normal dapat digunakan untuk pengujian skala besar proses tanpa pemakaian memori tinggi bahwa halaman penuh tumpukan memerlukan. Namun, halaman normal tumpukan penundaan deteksi sampai blok dibebaskan, sehingga kegagalan lebih sulit untuk debug.Secara umum, menggunakan halaman normal tumpukan untuk awal skala besar proses pengujian. Kemudian, Apabila masalah dideteksi, mengaktifkan halaman penuh tumpukan untuk kelas dibatasi alokasi mereka proses. Tumpukan halaman normal dapat dengan aman diaktifkan di seluruh sistem untuk semua proses. Hal ini sangat berguna pada test bangku yang melakukan sistem umum validasi, daripada komponen terfokus pengujian. Halaman normal tumpukan juga dapat diaktifkan untuk proses tunggal. Menggunakan GFlags dengan sistem-lebar halaman tumpukanThe GFlags alat yang digunakan untuk mengaktifkan sistem-lebar halaman tumpukan. Dalam rangka untuk GFlags perintah untuk mengambil efek, Anda harus me-restart komputer Anda setelah Anda mengeluarkan perintah.Untuk mengaktifkan sistem-lebar halaman normal tumpukan:
Menggunakan GFlags dengan tumpukan halaman proses tunggalAnda dapat mengaktifkan tumpukan halaman untuk memantau satu proses tertentu. Untuk melakukan ini, ikuti langkah berikut:
Alokasi unalignedWindows tumpukan manajer (semua versi) telah selalu dijamin Alokasi tumpukan memiliki alamat awal yang 8-byte blok (pada 64-bit platform ini adalah 16-byte). Halaman manajer tumpukan membuat jaminan yang sama. Ini tidak mungkin, namun, jika Anda ingin memiliki akhir-of-the-alokasi tepat pada akhir halaman. Halaman yang tepat akhir-of- Alokasi diperlukan sehingga kesalahan dari oleh-satu-byte akan memicu baca atau menulis ke halaman tidak dapat diakses dan menyebabkan kesalahan segera.Jika ukuran meminta pengguna untuk blok adalah tidak 8-byte blok, kemudian halaman tumpukan tidak dapat memenuhi "mulai alamat 8-byte blok" dan "alamat halaman akhir selaras"kendala. Solusinya adalah untuk bertemu pertama kendala dan membuat mulai dari 8-byte blok selaras. Kemudian menggunakan pola mengisi kecil antara akhir blok dan mulai halaman tidak dapat diakses. Ini mengisi pola dapat dari 0 bytes melalui 7 byte panjangnya pada arsitektur 32-bit. Mengisi pola diperiksa atas gratis. Jika kesalahan segera deteksi diperlukan untuk ini alokasi yang jika tidak akan memiliki pola mengisi pada akhir, membuat Halaman manajer tumpukan mengabaikan aturan 8-byte kesejajaran, dan selalu menyelaraskan akhir alokasi pada batas halaman dengan menggunakan / unaligned dan / full parameter. Untuk informasi lebih lanjut, lihat / unaligned parameter. CATATAN: Beberapa program membuat asumsi tentang 8-byte keselarasan dan mereka berhenti bekerja dengan benar dengan / unaligned parameter. Microsoft Internet Explorer adalah salah satu program tersebut. Halaman tidak terikat untuk halaman penuh tumpukan alokasiPelaksanaan halaman penuh tumpukan inti melakukan dua halaman untuk setiap Alokasi lebih kecil dari satu halaman. Satu halaman yang digunakan untuk pengguna alokasi, dan yang lain adalah diakses non-pada akhir buffer.Akhir penyangga overruns dapat dideteksi dengan menggunakan zona reserved virtual ruang, bukannya halaman berkomitmen tidak dapat diakses. Pelanggaran akses pengecualian terjadi ketika proses menyentuh ruang virtual yang disediakan. Ini pendekatan dapat mengurangi pemakaian memori hingga 50 persen. Untuk lebih informasi, lihat / decommit parameter. Kesalahan injeksiAnda dapat mengontrol halaman tumpukan manajer sehingga beberapa alokasi sengaja gagal. Hal ini berguna dalam mensimulasikan kondisi memori rendah tanpa benar-benar menggunakan semua sumber daya sistem.Menentukan nomor dari 1 hingga 10.000 untuk mewakili probabilitas bahwa alokasi akan gagal. Menggunakan probabilitas dari 10.000 memastikan bahwa 100 persen dari alokasi akan gagal. A probabilitas 2.000 menentukan bahwa sekitar 20 persen dari alokasi akan gagal. Halaman tumpukan manajer perlu perawatan khusus untuk menghindari kesalahan injeksi di kedua pertama 5 detik proses kehidupan, dan Windows NT loader kode jalan (untuk exampole, LoadLibrary, FreeLibrary). Jika 5 detik tidak cukup untuk memungkinkan Anda proses startup lengkap, maka Anda dapat menentukan timeout lagi pada awal proses. Untuk informasi lebih lanjut, lihat /fault parameter. Ketika Anda menggunakan /fault parameter dan proses yang sedang diuji memiliki bug, pengecualian akan dibangkitkan. Secara umum, alasan untuk ini adalah bahwa operasi allocate kembali NULL, dan aplikasi kemudian mencoba untuk mengakses dialokasikan memori. Karena allocate gagal, namun, memori tidak dapat diakses, dan karena itu terjadi pelanggaran akses. Alasan lain bahwa pengecualian adalah mengangkat adalah bahwa aplikasi mencoba untuk berurusan dengan alokasi kegagalan, tetapi tidak akan melepaskan beberapa sumber. Ini menyatakan kebocoran memori dan lebih sulit untuk debug. Untuk membantu mendiagnosa ini kegagalan, manajer tumpukan halaman membuat sejarah tumpukan jejak dari saat kesalahan injeksi. Jejak ini dapat ditampilkan dengan debugger berikut perintah: ! tumpukan -p -f [nomor dari jejak] Secara default ekstensi akan menampilkan hanya terakhir empat jejak. Secara otomatis melampirkan Debugger ketika aplikasi mulaiBeberapa aplikasi sulit untuk memulai dari prompt perintah, atau mereka melahirkan dari proses lainnya. Untuk aplikasi ini, menentukan bahwa, setiap kali mereka mulai, debugger akan secara otomatis akan melekat pada mereka. Hal ini bermanfaat jika halaman tumpukan diaktifkan untuk itu proses dan tumpukan kegagalan terjadi. Untuk informasi lebih lanjut, lihat /debug parameter.Pageheap.exe efektif ketika digunakan untuk memverifikasi proses alokasi memori, termasuk C++ gaya alokasi baru dan menghapus, selama fungsi kustom alokasi/gratis akhirnya panggilan ke NT tumpukan manajemen antarmuka (yaitu, RtlAllocateHeap, RtlFreeHeap). The fungsi-fungsi berikut dijamin untuk melakukannya:
Hindari menggunakan menghubungkan statis. Beberapa aplikasi telah statis terkait dengan lama versi c runtime. Lama ini Versi tidak memanggil Windows NT tumpukan api, dan Pageheap.exe tidak dapat digunakan untuk Verifikasi alokasi ini. Proses dynamic linking memastikan bahwa Anda mendapatkan c terbaru pustaka runtime (msvcrt.dll). Kelas bug yang ditemukan oleh Pageheap.exePageheap.exe mendeteksi sebagian besar berhubungan dengan tumpukan bug; Namun, fokus pada masalah korupsi tumpukan dan tidak berfokus pada kebocoran. Pageheap.exe telah kesuksesan terbatas dengan menemukan tumpukan kebocoran, meskipun memiliki fungsi untuk target ini.Salah satu keuntungan dari Pageheap.exe bahwa banyak kesalahan terdeteksi ketika mereka terjadi. Sebagai contoh, off-oleh-satu-byte error akhir penyangga dialokasikan secara dinamis mungkin menyebabkan akses pelanggaran. Ada beberapa jenis kesalahan yang tidak dapat dideteksi ketika mereka terjadi. Dalam kasus tersebut, laporan kesalahan tertunda hingga blok dibebaskan.
Perkecil tabel ini
Debugging halaman tumpukan kegagalanUntuk informasi lebih lanjut tentang Debugging halaman tumpukan kegagalan, silahkan lihat pada Kompatibilitas aplikasi Tookit referensi tersedia dalam Application Compatibility Toolkit.Untuk Sintaks dari Pageheap.exe dan contoh menggunakan Pageheap.exe, silakan melihat Kompatibilitas aplikasi Tookit referensi tersedia dalam Application Compatibility Toolkit. Untuk informasi lebih lanjut silakan lihat berikut Artikel Basis Pengetahuan Microsoft: 294895
(http://support.microsoft.com/kb/294895/
)
Cara mendapatkan alat kompatibilitas aplikasi WindowsPropertiID Artikel: 286470 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0 Berlaku bagi:
Penerjemahan Mesin PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:286470
(http://support.microsoft.com/kb/286470/en-us/
)
| Terjemahan Artikel
|




Kembali ke atas








