.attach (Lampirkan ke Proses)
Perintah .attach melampirkan ke aplikasi target baru.
.attach [-premote RemoteOptions] AttachOptions PID
Parameter
RemoteOptions
Menentukan server proses yang akan dilampirkan. Opsinya sama dengan opsi untuk baris perintah -premote . Lihat Mengaktifkan Klien Cerdas untuk detail sintaks.
AttachOptions
Menentukan bagaimana lampirkan akan dilakukan. Ini dapat mencakup salah satu opsi berikut:
-b
Mencegah debugger meminta pembobolan awal saat melampirkan ke proses target. Ini dapat berguna jika aplikasi sudah ditangguhkan, atau jika Anda ingin menghindari pembuatan utas jeda di target.
-e
Memungkinkan debugger untuk melampirkan ke proses yang sudah di-debug. Lihat Melampirkan ulang ke Aplikasi Target untuk detailnya.
-k
Memulai sesi debugging kernel lokal. Lihat Melakukan Penelusuran Kesalahan Kernel Lokal untuk detailnya.
-f
Membekukan semua utas di semua aplikasi target, kecuali pada target baru yang dilampirkan. Utas ini akan tetap dibekukan sampai terjadi pengecualian dalam proses yang baru dilampirkan. Perhatikan bahwa titik henti awal memenuhi syarat sebagai pengecualian. Utas individual dapat di-unfrozen dengan menggunakan perintah ~u (Unfreeze Thread).
-r
Menyebabkan debugger memulai proses target yang berjalan saat dilampirkan ke dalamnya. Ini dapat berguna jika aplikasi sudah ditangguhkan dan Anda ingin melanjutkan eksekusi.
-v
Menyebabkan proses yang ditentukan di-debug secara noninvasif.
PID
Menentukan ID proses aplikasi target baru.
Lingkungan
Item | Deskripsi |
---|---|
Mode | mode pengguna saja |
Target | penelusuran kesalahan langsung saja |
Platform | all |
Keterangan
Perintah ini dapat digunakan ketika CDB tidak aktif, atau jika sudah men-debug satu atau beberapa proses. Ini tidak dapat digunakan ketika WinDbg tidak aktif.
Jika perintah ini berhasil, debugger akan melampirkan ke proses yang ditentukan saat berikutnya debugger mengeluarkan perintah eksekusi. Jika perintah ini digunakan beberapa kali berturut-turut, eksekusi harus diminta sebanyak perintah ini digunakan.
Karena eksekusi tidak diizinkan selama debugging noninvasif, debugger tidak dapat secara noninvasif men-debug lebih dari satu proses pada satu waktu. Ini juga berarti bahwa menggunakan perintah .attach -v dapat merender sesi debugging invasif yang sudah ada kurang berguna.
Beberapa proses target akan selalu dijalankan bersama-sama, kecuali beberapa utas mereka dibekukan atau ditangguhkan.
Jika Anda ingin melampirkan ke proses baru dan membekukan semua target yang ada, gunakan opsi -f . Misalnya, Anda mungkin men-debug crash di aplikasi klien dan ingin melampirkan ke proses server tanpa membiarkan aplikasi klien terus berjalan.
Jika opsi -premote digunakan, proses baru akan menjadi bagian dari sistem baru. Untuk detailnya, lihat Men-debug Beberapa Target.