Saya menggunakan Visual Studio 2010 untuk men-debug proyek MVC asp.net di mesin lokal saya. Langkah-langkahnya adalah:
Klik Debug dan coba lakukan proses attch "w3wp.exe". Namun itu tidak ada dalam daftar.
Saya yakin "Tampilkan proses di semua sesi" diklik.
w3wp.exe
) atau VS Development Server (WebDev.WebServer40.exe
)? Periksa di bawah Properti Proyek Anda -> tab Web.Jawaban:
w3wp.exe tidak akan ditampilkan dalam proses yang sedang berjalan 'kecuali sebenarnya ada contoh dari aplikasi web yang sedang berjalan.
Cobalah untuk mengakses halaman web Anda terlebih dahulu, ketika ini ditampilkan untuk pertama kalinya, coba lampirkan debugger Anda. Prosesnya sekarang akan muncul.
sumber
Anda perlu mengklik Show Processes from All Users di bagian bawah daftar Task Manager. Inilah yang perlu saya lakukan.
sumber
sumber
Coba periksa: "Tampilkan Proses untuk Semua Pengguna" Ketika di jendela 'Lampirkan ke Proses' di kiri bawah ada kotak centang 'Tampilkan Proses untuk Semua Pengguna'
sumber
Cara mudah yang berhasil, ketika w3wp tidak muncul di daftar, buka browser dan tulis localhost, lalu enter. Setelah itu w3wp muncul ke daftar.
sumber
Jika Anda menggunakan sesuatu seperti Klien Istirahat Tingkat Lanjut untuk menguji rute, panggil rute Anda lagi lalu segarkan daftar proses dan itu akan muncul
sumber
Properti GoTo Web Project -> Pilih (Web) di sidebar kiri -> GoTo di bawah header (Server) -> Klik untuk dropdown dan pilih
"Local IIS"
dan terapkan. Kemudian, saat Anda memulai debugging, Anda akan melihat w3wp.exe di daftar proses.
sumber
Saya baru saja mengalami masalah ini - Anda mungkin juga ingin memeriksa ulang pengaturan host Anda dan memverifikasi bahwa Anda benar-benar diarahkan ke localhost dan bukan server produksi.
Saya lupa saya diarahkan ke server jarak jauh, dan dengan demikian, meskipun saya mengakses situs tersebut, itu bukan sesuatu yang lokal sehingga w3wp tidak berjalan, meskipun saya secara dangkal dapat melihat situs tersebut berjalan.
sumber
Dalam kasus saya, saya belum membuka Visual Studio dalam mode Admin itulah sebabnya w3wp.exe tidak muncul di daftar.
Ketika saya membuka Visual Studio dalam mode Admin, itu berhasil.
Klik kanan pada Visual Studio -> Buka dalam mode Admin.
sumber
Dalam kasus saya, setelah saya membangun kembali proyek web dan menaikkan batas Waktu Koneksi (dalam detik), secara otomatis ditampilkan dalam daftar Debug / Lampirkan ke Proses dan terus bekerja.
sumber
Saya hanya ingin berbagi pengalaman saya juga untuk pembaca selanjutnya.
Ketahuilah bahwa, jika Anda memiliki konfigurasi cluster server web (untuk load balancing dll),
w3wp
proses mungkin tidak dimulai pada mesin yang sama dengan yang Anda harapkan.Kecuali jika situs Anda dikonfigurasi untuk hanya berjalan di satu instance IIS ,
w3wp
prosesnya mungkin berputar di salah satu mesin lain di dalam cluster web Anda.Ini mungkin konfigurasi yang salah dari tim jaringan / departemen atau perilaku yang dimaksudkan. Saya tidak memiliki pengalaman yang diperlukan untuk menunjukkan dengan tepat bagaimana itu harus dikonfigurasi.
Menemukan halaman terkait di MSDN juga:
https://msdn.microsoft.com/en-us/library/bb742600.aspx
sumber
Dalam kasus saya, saya perlu terhubung dari satu Visual Studio ke proses yang berjalan dari jendela studio VS lain.
Masalahnya adalah berikutnya: satu VS diluncurkan dengan izin Administrator. Untuk mengatasi masalah itu, Anda harus meluncurkan VS dengan Admin perm.
sumber
Dalam kasus saya, masalahnya adalah saya tidak menjalankan Visual Studio sebagai Administrator. Mesin saya telah dimulai ulang setelah pembaruan dan meluncurkan kembali semua proses yang berjalan sebelumnya, tetapi hanya meluncurkan ulang VS dalam mode non-admin. Ketika saya memulai ulang VS dalam mode admin, proses w3wp.exe tersedia lagi untuk debugging.
sumber
Jalankan debugger jarak jauh sebagai administrator. Saya mengikuti setiap saran untuk menyelesaikan masalah, tetapi baru setelah saya menjalankan debugger jarak jauh sebagai administrator, saya dapat melihat proses w3wp
sumber
Coba langkah-langkah berikut ini:
Buat jalur virtual dari Solution Explorer.
Buka inetmgr untuk mengonfirmasi bahwa kolam Anda sendiri telah dibuat.
Pergi ke Lampirkan Proses (Ctrl + Alt + P) dan tampilkan proses untuk semua pengguna.
Kemudian Anda akan melihat w3wp.exe akan berada di sana.
sumber
Ketahuilah bahwa bahkan setelah melewati semua rintangan ini (memulai sebuah instance menggunakan browser web, memulai sesi debugging jarak jauh Anda sebagai admin, memastikan bahwa "tampilkan semua pengguna" dicentang, dll., Memastikan Anda tidak berada di server pertanian, dll), Anda mungkin masih kurang beruntung.
Ada kalanya proses jarak jauh, biasanya layanan WCF dalam kasus saya, tidak akan muncul dalam daftar proses untuk dilampirkan, dan tidak ada yang dapat dilakukan untuk mengatasinya. Saya selalu berhati-hati agar proses target saya mudah diidentifikasi dengan menyimpannya dan hanya di App Pool tertentu. Terkadang Anda tidak bisa sampai ke sana dari sini. Ini tidak diragukan lagi adalah hal paling membuat frustrasi tentang debugging jarak jauh yang pernah dilakukan Microsoft.
sumber