Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Artikel ini selangkah demi selangkah menjelaskan cara untuk men-debug Windows
layanan dengan menggunakan debugger WinDbg (windbg.exe). Untuk men-debug layanan Windows,
Anda dapat melampirkan WinDbg debugger proses host layanan setelah
layanan dimulai, atau Anda dapat mengkonfigurasi layanan untuk memulai dengan WinDbg
debugger terpasang sehingga Anda dapat memecahkan masalah layanan-startup-terkait
masalah. Artikel ini menjelaskan kedua metode ini.
Melampirkan WinDbg debugger layanan setelah layanan mulai
Metode ini sangat mirip dengan metode yang dapat Anda gunakan untuk melampirkan
debugger proses dan kemudian debug proses.
Menggunakan ID proses proses host layanan yang Anda inginkan untuk men-debug
Untuk menentukan proses ID (PID) dari proses yang host
layanan yang Anda inginkan untuk men-debug, gunakan salah satu metode berikut.
Metode 1: Gunakan pengatur tugas
Klik kanan taskbar, dan kemudian klik Manajer Tugas. The Windows Task Manager dialog
kotak akan muncul.
Klik Proses tab Windows Task Manager kotak dialog.
Di bawah Nama gambar, klik gambar
nama proses host layanan yang Anda inginkan untuk debug. Catatan
ID proses ini proses yang ditentukan oleh nilai yang sesuai PID lapangan.
Metode 2: Menggunakan tugas daftar Utility (tlist.exe)
Klik Mulai, lalu klik Menjalankan. The Menjalankan kotak dialog akan muncul.
Dalam Terbuka kotak, jenis cmd, lalu klik Oke.
Pada prompt perintah, mengubah jalur direktori untuk
mencerminkan lokasi tlist.exe file di komputer Anda.
Catatan Berkas tlist.exe biasanya terletak di berikut
direktori: C:\Program Files\Debugging Tools for Windows
Pada prompt perintah, ketik tlist untuk daftar nama gambar dan proses id dari semua
proses yang sedang berjalan di komputer Anda.
Catatan Membuat catatan ID proses proses host layanan yang Anda
ingin untuk debug.
Pada prompt perintah, mengubah jalur direktori untuk mencerminkan
lokasi windbg.exe file di komputer Anda.
Catatan Jika prompt perintah tidak terbuka, ikuti langkah-langkah dan b metode 1. Berkas windbg.exe biasanya terletak di direktori berikut:
C:\Program Files\Debugging Tools for Windows.
Pada prompt perintah, ketik WinDbg ?pProcessID /g untuk melampirkan WinDbg debugger
proses host layanan yang Anda inginkan untuk debug.
Catatan ProcessID merupakan tempat bagi
ID proses proses host layanan yang ingin Anda
debug.
Menggunakan gambar nama proses host layanan yang Anda inginkan untuk men-debug
Anda dapat menggunakan metode ini hanya jika ada persis berjalan
contoh dari proses yang host layanan yang Anda ingin menjalankan. Untuk melakukan
ini, ikuti langkah berikut:
Klik Mulai, lalu klikMenjalankan. The Menjalankan kotak dialog akan muncul.
Dalam Terbuka kotak, jeniscmd, lalu klik Oke untuk membuka
prompt perintah.
Pada prompt perintah, mengubah jalur direktori untuk mencerminkan
lokasi windbg.exe file di komputer Anda.
Catatan Berkas windbg.exe biasanya terletak di berikut
direktori: C:\Program Files\Debugging Tools for Windows.
Pada prompt perintah, ketik WinDbg ?pnImageName /g untuk melampirkan WinDbg debugger
proses host layanan yang Anda inginkan untuk debug.
CatatanImageName merupakan tempat bagi
gambar nama proses host layanan yang Anda inginkan untuk debug. The
"-pn" opsi baris perintah menentukan yangImageName argumen baris perintah adalah nama gambar
proses.
Mulai WinDbg debugger dan melampirkan ke proses host layanan yang Anda inginkan untuk men-debug
Mulai Windows Explorer.
Mencari berkas windbg.exe pada komputer Anda.
Catatan Berkas windbg.exe biasanya terletak di berikut
direktori: C:\Program Files\Debugging Tools for Windows
Jalankan file windbg.exe bersama-sama dengan /g switch baris perintah untuk memulai WinDbg
debugger. The /g saklar baris perintah memungkinkan proses dilacak untuk melanjutkan setelah istirahat point ditetapkan.
Pada Berkas menu, klik Melampirkan untuk
Proses untuk menampilkan Melampirkan ke proses dialog
kotak.
Klik untuk memilih node yang sesuai dengan proses
itu host layanan yang ingin Anda debug, dan kemudian klikOke.
Di kotak dialog yang muncul, klik Yauntuk menyimpan informasi dasar kerja. Pemberitahuan bahwa Anda sekarang dapat men-debug
kode yang dibongkar layanan.
Mengkonfigurasi layanan untuk memulai dengan WinDbg
debugger terpasang
Anda dapat menggunakan metode ini untuk men-debug layanan jika Anda ingin
memecahkan masalah layanan-startup-terkait.
Mengkonfigurasi opsi "Gambar File eksekusi". Untuk melakukan hal ini,
Gunakan salah satu metode berikut:
Metode 1: Menggunakan Editor bendera Global (gflags.exe)
Mulai Windows Explorer.
Mencari berkas gflags.exe pada Anda
komputer.
Catatan Berkas gflags.exe biasanya terletak di berikut
direktori: C:\Program Files\Debugging Tools for Windows.
Jalankan file gflags.exe untuk memulai bendera Global
Editor.
Dalam Nama File gambar kotak teks,
Ketik nama gambar dari proses yang host layanan yang ingin Anda
debug. Sebagai contoh, jika Anda ingin men-debug sebuah layanan yang di-host oleh proses
yang memiliki MyService.exe sebagai nama gambar, jenis MyService.exe.
Di bawah Tujuan, klik untuk memilih
The File gambar pilihan pilihan.
Di bawah Gambar Debugger pilihan,
Klik untuk memilih Debugger kotak centang.
Dalam Debugger kotak teks, ketik lintasan penuh debugger yang ingin Anda gunakan. Sebagai contoh, jika Anda
ingin menggunakan WinDbg debugger untuk debug layanan, Anda dapat mengetik path lengkap yang mirip dengan berikut: C:
Files\debugging Tools for Windows\windbg.exe
Klik Menerapkan, lalu klik Oke untuk keluar dari Editor bendera Global.
Metode 2: Gunakan Peninjau Suntingan Registri
Klik Mulai, lalu klik Menjalankan. The Menjalankan kotak dialog akan muncul.
Dalam Terbuka kotak, jenis regedit, lalu klik Oke untuk memulai
Peninjau Suntingan Registri.
Penting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah yang serius dapat terjadi apabila Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasi. Kemudian, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756
(http://support.microsoft.com/kb/322756/
)
Cara membuat cadangan dan memulihkan registri di Windows
Pada Peninjau Suntingan Registri, Cari, dan kemudian klik kanan
subkunci registri berikut:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File eksekusi pilihan
Arahkan ke Baru, lalu klik Kunci. Di jendela kiri dari Peninjau Suntingan Registri, perhatikan bahwa Kunci baru # 1 (nama subkunci registri baru) yang dipilih untuk
mengedit.
Jenis ImageName untuk menggantikan Kunci baru # 1, kemudian tekan
MASUKKAN.
Catatan ImageName merupakan tempat bagi
gambar nama proses host layanan yang Anda inginkan untuk debug. Untuk
contoh, jika Anda ingin men-debug sebuah layanan yang di-host oleh proses yang telah
MyService.exe sebagai nama gambar, jenis MyService.exe.
Klik kanan subkunci registri yang Anda buat dalam
langkah e.
Arahkan ke Baru, lalu klik Nilai Untai. Dalam pane kanan dari Registry Editor, pemberitahuan
yang Nilai baru # 1, nama entri registri baru, adalah
dipilih.
Ganti Nilai baru # 1 dengan Debugger, kemudian tekan ENTER.
Klik kanan Debugger registri
Catatan yang dibuat di langkah h, dan kemudian klik Memodifikasi. The Edit String kotak dialog akan muncul.
Dalam Data nilai kotak teks, ketik DebuggerPath, lalu klik Oke.
Catatan DebuggerPath merupakan tempat bagi path lengkap debugger yang ingin Anda gunakan. Sebagai contoh, jika Anda
ingin menggunakan WinDbg debugger untuk debug layanan, Anda dapat mengetik penuh
jalan yang sama dengan berikut:
C:\Progra~1\Debugg~1\windbg.exe
Untuk jendela debugger muncul di desktop Anda, dan
untuk berinteraksi dengan debugger, membuat layanan interaktif. Jika Anda
tidak membuat layanan interaktif, debugger akan mulai tetapi Anda tidak dapat
melihat dan Anda tidak dapat mengeluarkan perintah. Untuk membuat layanan interaktif, gunakan salah satu
metode berikut:
Metode 1: Menggunakan konsol layanan
Klik Mulai, dan kemudian arahkan ke Program.
Pada Program menu, titik Alat administratif, lalu klik Layanan. The Layanan konsol
muncul.
Di panel kanan Layanankonsol, klik kanan ServiceName,
kemudian klik Properti.
Catatan ServiceName merupakan tempat bagi
nama layanan yang Anda inginkan untuk debug.
Pada Logon tab, klik untuk memilih
The Memungkinkan layanan untuk berinteraksi dengan desktop kotak centang di bawah Account sistem lokal, lalu klik Oke.
Metode 2: Gunakan Peninjau Suntingan Registri
Pada Peninjau Suntingan Registri, Cari, dan kemudian klik
subkunci registri berikut:
Catatan Ganti ServiceName dengan nama
layanan yang Anda inginkan untuk debug. Sebagai contoh, jika Anda ingin men-debug sebuah layanan
bernama MyService, Cari dan klik kunci registri berikut:
Di bawah Nama bidang dalam pane kanan dari Peninjau Suntingan Registri, klik kanan Jenis, lalu klik Memodifikasi. The Edit nilai DWORD kotak dialog
muncul.
Mengubah teks dalam Data nilaikotak teks untuk hasil operasi OR biner dengan nilai biner
teks saat ini dan nilai biner, 0x00000100, sebagai Operand dua. Biner
nilai, 0x00000100, sesuai dengan SERVICE_INTERACTIVE_PROCESS konstan yang
didefinisikan dalam WinNT.h header file di komputer Anda. Konstanta ini menentukan
layanan interaktif di alam.
Ketika layanan dimulai, layanan berkomunikasi untuk
Service Control Manager berapa lama layanan harus memiliki untuk memulai (time-out
periode untuk layanan). Jika Service Control Manager tidak menerima
"layanan dimulai" pemberitahuan dari layanan dalam periode waktu habis,
Service Control Manager berakhir proses host layanan. Ini
periode waktu habis adalah biasanya kurang dari 30 detik. Jika Anda tidak menyesuaikan ini
periode waktu habis, Service Control Manager berakhir proses dan
melampirkan debugger ketika Anda mencoba untuk men-debug. Untuk menyesuaikan waktu-habis ini
periode, ikuti langkah berikut:
Pada Peninjau Suntingan Registri, Cari, dan kemudian klik kanan
subkunci registri berikut:
Arahkan ke Baru, lalu klik Nilai DWORD. Dalam pane kanan Registry Editor, perhatikan bahwa Nilai baru # 1 (nama entri registri baru) dipilih
untuk mengedit.
Jenis ServicesPipeTimeout untuk menggantikan Nilai baru # 1, kemudian tekan
MASUKKAN.
Klik kanan ServicesPipeTimeoutentri registri yang Anda dibuat di langkah c, kemudian klik Memodifikasi. The Edit nilai DWORD kotak dialog
muncul.
Dalam Data nilai kotak teks, ketik TimeoutPeriod, lalu klik Oke
Catatan TimeoutPeriod adalah
simbol untuk nilai periode waktu-habis (dalam milidetik) bahwa Anda
ingin mengatur untuk layanan. Sebagai contoh, jika Anda ingin mengatur waktu-habis
periode 24 jam (86400000 milidetik), jenis 86400000.
Mulai ulang komputer. Anda harus me-restart komputer untuk Service Control Manager untuk menerapkan perubahan ini.
Mulai layanan Windows Anda. Untuk melakukannya, ikuti langkah-langkah berikut:
Klik Mulai, dan kemudian arahkan ke Program.
Pada Program menu, titik Alat administratif, lalu klik Layanan. The Layanan konsol
muncul.
Di panel kanan Layanankonsol, klik kanan ServiceName,
kemudian klik Mulai.
Catatan ServiceName merupakan tempat bagi
nama layanan yang Anda inginkan untuk debug.
Sebelum Anda mencoba untuk men-debug sebuah layanan di seluruh jaringan, pastikan bahwa simbol-simbol dan file sumber yang menggunakan layanan
dapat diakses dari komputer di mana layanan akan berjalan. Untuk melakukannya, gunakan salah satu dari metode berikut ini:
Berikan izin akses baca setidaknya kepada semua orang untuk folder pada Anda
komputer yang berisi simbol-simbol dan file sumber yang menggunakan layanan.
Salin file sumber yang menggunakan layanan dan simbol ini ke komputer di mana layanan akan
menjalankan.
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:824344
(http://support.microsoft.com/kb/824344/en-us/
)
Mondja el, hogy miért, és tudassa velünk, miként tudnánk javítani az információ min?ségén
Köszönjük! Ez az információ segítséget nyújt számunkra, hogy fejlesszük a támogatási tartalmat. További támogatási lehet?ségekért keresse fel a következ? webhelyet: Súgó és támogatási webhely.