Bagikan melalui


Debugging WinLogon

WinLogon adalah proses mode pengguna yang menangani tugas pengguna interaktif yang masuk dan masuk, dan menangani semua instans CTRL+ALT+DELETE.

Mengontrol NTSD dari Kernel Debugger

Cara termampu untuk men-debug WinLogon adalah dengan menggunakan NTSD dan mengontrolnya dari debugger kernel.

Mengaktifkan Debugging WinLogon

Karena Anda akan mengalihkan output debugger mode pengguna ke debugger kernel, Anda harus menyiapkan koneksi penelusuran kesalahan kernel. Lihat Menyiapkan untuk Penelusuran Kesalahan.

Untuk melampirkan debugger ke WinLogon, Anda harus melalui registri sehingga prosesnya di-debug sejak dimulai. Untuk menyiapkan penelusuran kesalahan WinLogon, atur HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WinLogon.EXE\Debugger ke:

ntsd -d -x -g 

Opsi -d meneruskan kontrol ke debugger kernel. Opsi -x menyebabkan debugger menangkap pelanggaran akses sebagai pengecualian kesempatan kedua. Opsi -g menyebabkan proses WinLogon berjalan setelah lampiran. Jangan tambahkan -g jika Anda ingin memulai penelusuran kesalahan sebelum Winlogon.exe dimulai (misalnya, jika Anda ingin mengatur titik henti awal).

Selain itu, Anda harus menetapkan nilai GlobalFlag di bawah kunci winlogon.exe ke REG_DWORD "0x000400F0". Ini mengatur pemeriksaan timbunan dan FLG_ENABLE_KDEBUG_SYMBOL_LOAD. Namun, karena bendera kedua ini hanya memengaruhi debugger kernel, simbol juga harus disalin ke komputer target sebelum memulai debugger.

Perubahan registri memerlukan reboot untuk diterapkan.

Melakukan Debugging

Setelah reboot berikutnya, debugger akan masuk ke WinLogon secara otomatis.

Lihat Mengontrol User-Mode Debugger dari Kernel Debugger untuk penjelasan tentang cara melanjutkan.

Anda harus mengatur jalur simbol Anda ke lokasi di komputer host Anda atau ke beberapa lokasi lain di jaringan Anda. Ketika WinLogon sedang di-debug, autentikasi jaringan pada komputer target tidak akan berfungsi dengan baik.