Mengaktifkan Server Proses
Server proses yang disertakan dalam Alat Penelusuran Kesalahan untuk Windows disebut DbgSrv (dbgsrv.exe). Untuk mengaktifkan server proses, buka jendela Prompt Perintah yang ditinggikan (Jalankan sebagai Administrator), dan masukkan perintah dbgsrv .
Catatan Anda dapat mengaktifkan server proses tanpa memiliki hak istimewa yang ditingkatkan, dan klien debugging akan dapat terhubung ke server. Namun, klien tidak akan dapat menemukan server proses kecuali diaktifkan dengan hak istimewa yang ditingkatkan. Untuk informasi tentang cara menemukan server penelusuran kesalahan, lihat Mencari Server Proses.
DbgSrv mendukung beberapa protokol transportasi: bernama pipe (NPIPE), TCP, COM port, secure pipe (SPIPE), dan secure sockets layer (SSL).
dbgsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc]
Parameter dalam perintah sebelumnya memiliki nilai yang mungkin berikut:
pipe= PipeName
Ketika protokol NPIPE atau SPIPE digunakan, PipeName adalah string yang akan berfungsi sebagai nama pipa. Setiap nama pipa harus mengidentifikasi server proses yang unik. Jika Anda mencoba menggunakan kembali nama pipa, Anda akan menerima pesan kesalahan. PipeName tidak boleh berisi spasi atau tanda kutip. PipeName dapat menyertakan kode format gaya cetak numerik, seperti %x atau %d. Server proses akan mengganti ini dengan ID proses DbgSrv. Kode kedua tersebut akan diganti dengan ID utas DbgSrv.
Catatan Anda mungkin perlu mengaktifkan berbagi file dan printer pada komputer yang menjalankan server proses. Di Panel Kontrol, navigasikan ke pengaturan berbagi Tingkat Lanjut Jaringan dan Jaringan Internet > dan Pusat> Berbagi. Pilih Aktifkan berbagi file dan printer.
port= Soket
Ketika protokol TCP atau SSL digunakan, Soket adalah nomor port soket.
Dimungkinkan juga untuk menentukan berbagai port yang dipisahkan oleh titik dua. DbgSrv akan memeriksa setiap port dalam rentang ini untuk melihat apakah itu gratis. Jika menemukan port gratis dan tidak ada kesalahan yang terjadi, server proses akan dibuat. Klien pintar harus menentukan port aktual yang digunakan untuk menyambungkan ke server. Untuk menentukan port aktual, gunakan salah satu metode yang dijelaskan dalam Mencari Server Proses; ketika server proses ini ditampilkan, port akan diikuti oleh dua angka yang dipisahkan oleh titik dua. Angka pertama akan menjadi port aktual yang digunakan; yang kedua dapat diabaikan. Misalnya, jika port ditentukan sebagai port=51:60, dan port 53 benar-benar digunakan, hasil pencarian akan menampilkan "port=53:60". (Jika Anda menggunakan parameter clicon untuk membuat koneksi terbalik, klien pintar dapat menentukan rentang port dengan cara ini, sementara server proses harus menentukan port aktual yang digunakan.)
clicon= Klien
Ketika protokol TCP atau SSL digunakan dan parameter clicon ditentukan, koneksi terbalik akan dibuka. Ini berarti bahwa server proses akan mencoba terhubung ke klien pintar, alih-alih membiarkan klien memulai kontak. Ini dapat berguna jika Anda memiliki firewall yang mencegah koneksi ke arah yang biasa. Klien menentukan nama jaringan atau alamat IP komputer tempat klien pintar berada atau akan dibuat. Dua garis miring terbelakang awal (\) bersifat opsional.
Karena server proses mencari satu klien tertentu, Anda tidak dapat menghubungkan beberapa klien ke server jika Anda menggunakan metode ini. Jika koneksi ditolak atau rusak, Anda harus memulai ulang server proses. Server proses koneksi terbalik tidak akan muncul ketika seseorang menggunakan opsi baris perintah -QR untuk menampilkan semua server aktif.
Catatan Ketika clicon digunakan, yang terbaik adalah memulai klien pintar sebelum server proses dibuat, meskipun urutan biasa (server sebelum klien) juga diizinkan.
port= COMPort
Ketika protokol COM digunakan, COMPort menentukan port COM yang akan digunakan. Awalan "COM" bersifat opsional -- misalnya, "com2" dan "2" dapat diterima.
baud= BaudRate
Ketika protokol COM digunakan, BaudRate menentukan laju baud tempat koneksi akan berjalan. Laju baud apa pun yang didukung oleh perangkat keras diizinkan.
channel= COMChannel
Jika protokol COM digunakan, COMChannel menentukan saluran COM yang akan digunakan dalam berkomunikasi dengan klien penelusuran kesalahan. Ini bisa menjadi nilai apa pun antara 0 dan 254, inklusif. Anda dapat menggunakan satu port COM untuk beberapa koneksi menggunakan nomor saluran yang berbeda. (Ini berbeda dari penggunaan port COM untuk kabel debug -- dalam situasi tersebut Anda tidak dapat menggunakan saluran dalam port COM.)
proto= Protokol
Jika protokol SSL atau SPIPE digunakan, Protokol menentukan protokol Saluran Aman (S-Channel). Ini bisa menjadi salah satu string tls1, pct1, ssl2, atau ssl3.
Cert
Jika protokol SSL atau SPIPE digunakan, Cert menentukan sertifikat. Ini bisa berupa nama sertifikat atau thumbprint sertifikat (string digit heksadesimal yang diberikan oleh snapin sertifikat). Jika sintaks certuser=Cert digunakan, debugger akan mencari sertifikat di penyimpanan sistem (penyimpanan default). Jika sintaks machuser=Cert digunakan, debugger akan mencari sertifikat di penyimpanan komputer. Sertifikat yang ditentukan harus mendukung autentikasi server.
sembunyi
Mencegah server proses muncul ketika seseorang menggunakan opsi baris perintah -QR untuk menampilkan semua server aktif.
kata sandi= Kata sandi
Memerlukan klien pintar untuk menyediakan kata sandi yang ditentukan untuk terhubung ke server proses. Kata sandi dapat berupa string alfanumerik apa pun, hingga dua belas karakter panjangnya.
Peringatan Menggunakan kata sandi dengan protokol TCP, NPIPE, atau COM hanya menawarkan sedikit perlindungan, karena kata sandi tidak dienkripsi. Ketika kata sandi digunakan dengan protokol SSL atau SPIPE, kata sandi dienkripsi. Jika Anda ingin membuat sesi jarak jauh yang aman, Anda harus menggunakan protokol SSL atau SPIPE.
ipversion=6
(Alat Debugging untuk Windows 6.6.07 dan yang lebih lama saja) Memaksa debugger untuk menggunakan IP versi 6 daripada versi 4 saat menggunakan TCP untuk terhubung ke Internet. Di Windows Vista dan versi yang lebih baru, debugger mencoba default otomatis ke IP versi 6, membuat opsi ini tidak perlu.
IcfEnable
Menyebabkan debugger mengaktifkan koneksi port yang diperlukan untuk TCP atau komunikasi pipa bernama saat Firewall Koneksi Internet aktif. Secara default, Firewall Koneksi Internet menonaktifkan port yang digunakan oleh protokol ini. Ketika IcfEnable digunakan dengan koneksi TCP, debugger menyebabkan Windows membuka port yang ditentukan oleh parameter Soket . Ketika IcfEnable digunakan dengan koneksi pipa bernama, debugger menyebabkan Windows membuka port yang digunakan untuk pipa bernama (port 139 dan 445). Debugger tidak menutup port ini setelah koneksi berakhir.
-sifeo Executable
Menangguhkan nilai Opsi Eksekusi File Gambar (IFEO) untuk gambar yang diberikan. Executable harus menyertakan nama file gambar yang dapat dieksekusi, termasuk ekstensi nama file. Opsi -sifeo memungkinkan DbgSrv diatur sebagai debugger IFEO untuk gambar yang dibuat oleh opsi -c , tanpa menyebabkan pemanggilan rekursif karena pengaturan IFEO. Opsi ini hanya dapat digunakan jika -c digunakan.
-c
Menyebabkan DbgSrv membuat proses baru. Anda dapat menggunakan ini untuk membuat proses yang ingin Anda debug. Ini mirip dengan menelurkan proses baru dari debugger, kecuali bahwa proses ini tidak akan di-debug saat dibuat. Untuk men-debug proses ini, tentukan PID-nya dan gunakan opsi -p saat memulai klien pintar untuk men-debug proses ini.
s
Menyebabkan proses yang baru dibuat segera ditangguhkan. Jika Anda menggunakan opsi ini, disarankan agar Anda menggunakan CDB sebagai klien pintar Anda, dan Anda memulai klien pintar dengan opsi baris perintah -pb , bersama dengan -p PID. Jika Anda menyertakan opsi -pb pada baris perintah, proses akan dilanjutkan ketika debugger melampirkannya; jika tidak, Anda dapat melanjutkan proses dengan perintah ~*m .
AppCmdLine
Menentukan baris perintah lengkap proses yang akan dibuat. AppCmdLine dapat berupa string Unicode atau ASCII, dan dapat menyertakan karakter yang dapat dicetak. Semua teks yang muncul setelah parameter -c[s] akan diambil untuk membentuk string AppCmdLine.
-x
Menyebabkan sisa baris perintah diabaikan. Opsi ini berguna jika Anda meluncurkan DbgSrv dari aplikasi yang dapat menambahkan teks yang tidak diinginkan ke baris perintahnya.
-komputer mikro
Menyebabkan sisa baris perintah diabaikan. Opsi ini berguna jika Anda meluncurkan DbgSrv dari aplikasi yang dapat menambahkan teks yang tidak diinginkan ke baris perintahnya. Kesalahan sintaksis menghasilkan jika -pc adalah elemen akhir pada baris perintah DbgSrv. Selain pembatasan ini, -pc identik dengan -x.
Anda dapat memulai sejumlah server proses pada satu komputer. Namun, ini umumnya tidak perlu, karena satu server proses dapat digunakan oleh sejumlah klien pintar (masing-masing terlibat dalam sesi debugging yang berbeda).