Proses w3wp tidak ditemukan

103

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.


sumber
Jika Anda tidak dapat menemukan w3wp.exe maka IIS saat ini tidak berjalan. Pastikan bahwa layanan Admin IIS dimulai, layanan WWW dimulai, kumpulan aplikasi dimulai dan situs web IIS itu sendiri dimulai.
Joel Etherton
Apakah Anda menggunakan IIS Lokal ( w3wp.exe) atau VS Development Server ( WebDev.WebServer40.exe)? Periksa di bawah Properti Proyek Anda -> tab Web.
SliverNinja - MSFT
6
Sudahkah Anda mencoba mencentang opsi "Tampilkan Proses Dari semua Pengguna"?
Irvin Dominin
Apakah maksud Anda pergi ke panel kontrol kemudian mulai IIS? Saya tidak dapat menemukannya.
2
Jawaban di stackoverflow.com/questions/4313206/… tl; dr? Proses w3wp tertidur, jadi segarkan halaman di browser untuk membangunkannya dan sekarang akan muncul dalam daftar.
Ruskin

Jawaban:

178

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.

Yan Brunet
sumber
4
Jika sudah lama sejak Anda menyegarkan laman, prosesnya mungkin dalam mode tidur. Bangun dengan menyegarkan.
Ruskin
Saya ingin memukul diri saya sendiri karena tidak mendapatkan ini pertama kali
Tapi Saya Bukan Kelas Pembungkus
1
Yup, situs seharusnya sudah berjalan saat Anda mencoba melampirkan ke proses. Itu tidak harus di server yang sama.
Hash
8
Perhatikan bahwa di Windows8 dan 7, Anda perlu menjalankan VS sebagai administrator
Samih A
1
Semuanya benar, kecuali bagian ini. Tidak tahu prosesnya tidak terus berjalan
user919426
85

Anda perlu mengklik Show Processes from All Users di bagian bawah daftar Task Manager. Inilah yang perlu saya lakukan.

Jacob Pressures
sumber
1
Ini memecahkan masalah saya. Alasannya adalah di IIS, proses tersebut berjalan di bawah App Pool dan bukan pengguna saya saat ini.
L_7337
Sempurna ini adalah jawabannya, jika Anda bekerja di windows 7
fizmhd
12
  1. Mulai ulang IIS
  2. Klik kanan situs Anda >> Kelola Situs Web >> Jelajahi
  3. Kembali ke Visual Studio, segarkan daftar proses
Neph
sumber
Bergantung pada situsnya, itu bisa berupa Kelola Situs Web, atau Kelola Aplikasi. Keduanya akan memulai proses w3wp.exe.
Milton
Saya bahkan tidak perlu me-restart IIS ... Saya hanya mengikuti langkah 2 dan 3 dan berhasil. :) Mungkin daftar tersebut belum diperbarui.
thecoolmacdude
6

Coba periksa: "Tampilkan Proses untuk Semua Pengguna" Ketika di jendela 'Lampirkan ke Proses' di kiri bawah ada kotak centang 'Tampilkan Proses untuk Semua Pengguna'

Trong Vo
sumber
2

Cara mudah yang berhasil, ketika w3wp tidak muncul di daftar, buka browser dan tulis localhost, lalu enter. Setelah itu w3wp muncul ke daftar.

dimath
sumber
1

Jika Anda menggunakan sesuatu seperti Klien Istirahat Tingkat Lanjut untuk menguji rute, panggil rute Anda lagi lalu segarkan daftar proses dan itu akan muncul

JrBriones
sumber
1

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.

Oğuzhan Soykan
sumber
1

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.

Eleanor Zimmermann
sumber
1

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.

Neel
sumber
1

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.

A. Seculici
sumber
0

Saya hanya ingin berbagi pengalaman saya juga untuk pembaca selanjutnya.

Ketahuilah bahwa, jika Anda memiliki konfigurasi cluster server web (untuk load balancing dll), w3wpproses mungkin tidak dimulai pada mesin yang sama dengan yang Anda harapkan.

Kecuali jika situs Anda dikonfigurasi untuk hanya berjalan di satu instance IIS , w3wpprosesnya 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

Riaan van Zyl
sumber
0

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.

neustart47
sumber
0

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.

James McCormack
sumber
0

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

AidaM
sumber
0

Coba langkah-langkah berikut ini:

  1. Buat jalur virtual dari Solution Explorer.

  2. Buka inetmgr untuk mengonfirmasi bahwa kolam Anda sendiri telah dibuat.

  3. Pergi ke Lampirkan Proses (Ctrl + Alt + P) dan tampilkan proses untuk semua pengguna.

  4. Kemudian Anda akan melihat w3wp.exe akan berada di sana.

wifiboy
sumber
0

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.

markaaronky
sumber