Bagikan melalui


0x76 Pemeriksaan Bug: PROCESS_HAS_LOCKED_PAGES

Pemeriksaan bug PROCESS_HAS_LOCKED_PAGES memiliki nilai 0x00000076. Pemeriksaan bug ini menunjukkan bahwa driver gagal melepaskan halaman terkunci setelah operasi I/O, atau bahwa ia mencoba membuka kunci halaman yang sudah dibuka kuncinya.

Penting

Artikel ini untuk programmer. Jika Anda adalah pelanggan yang telah menerima kode kesalahan layar biru saat menggunakan komputer Anda, lihat Memecahkan masalah kesalahan layar biru.

Parameter PROCESS_HAS_LOCKED_PAGES

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Penyebab kesalahan

0x00

Penunjuk ke objek proses

Jumlah halaman terkunci

Penunjuk ke tumpukan driver (jika diaktifkan). Jika tidak, parameter ini adalah nol.

Proses yang dihentikan telah mengunci halaman memori. Driver harus membuka kunci memori apa pun yang mungkin telah dikunci dalam proses, sebelum proses berakhir.

0x01

MDL yang ditentukan oleh driver

Jumlah halaman memori terkunci saat ini dalam proses tersebut

Penunjuk ke tumpukan driver untuk proses tersebut (jika diaktifkan). Jika tidak, parameter ini adalah nol.

Pengandar mencoba membuka kunci halaman memori proses yang tidak dikunci.

Penyebab

Driver gagal membuka kunci halaman yang dikuncinya (nilai parameter 1 0x0), atau driver mencoba membuka kunci halaman yang belum dikunci atau yang telah dibuka kuncinya (nilai parameter 1 0x1).

Resolusi

Ekstensi !analyze debug menampilkan informasi tentang pemeriksaan bug dan dapat membantu dalam menentukan akar penyebabnya.

Jika nilai parameter 1 0x0

Pertama gunakan ekstensi !search pada penunjuk proses saat ini di seluruh memori fisik. Ekstensi ini mungkin menemukan setidaknya satu daftar deskriptor memori (MDL) yang menunjuk ke proses saat ini. Selanjutnya, gunakan !search pada setiap MDL yang Anda temukan untuk mendapatkan paket permintaan I/O (IRP) yang menunjuk ke proses saat ini. Dari IRP ini, Anda dapat mengidentifikasi driver mana yang membocorkan halaman.

Jika tidak, Anda dapat mendeteksi driver mana yang menyebabkan kesalahan dengan mengedit registri:

  1. Di kunci registri \\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management , buat atau edit nilai TrackLockedPages , lalu atur sama dengan DWORD 1.

  2. Mulai ulang komputer.

Sistem kemudian menyimpan jejak tumpukan, sehingga Anda dapat dengan mudah mengidentifikasi driver yang menyebabkan masalah. Jika driver menyebabkan kesalahan yang sama lagi, pemeriksaan bug 0xCB (DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS) dikeluarkan, dan nama driver yang menyebabkan kesalahan ini ditampilkan pada layar biru dan disimpan dalam memori di lokasi (PUNICODE_STRING) KiBugCheckDriver.

Jika nilai parameter 1 0x1

Periksa kode sumber driver yang mengunci dan membuka kunci memori, dan mencoba menemukan instans di mana memori tidak terkunci tanpa terlebih dahulu dikunci.