w3wp 프로세스를 찾을 수 없습니다.


103

Visual Studio 2010을 사용하여 로컬 컴퓨터에서 asp.net MVC 프로젝트를 디버깅합니다. 단계는 다음과 같습니다.

디버그를 클릭하고 "w3wp.exe"프로세스를 시도하십시오. 그러나 그것은 목록에 없습니다.

"모든 세션의 프로세스 표시"를 클릭했는지 확인합니다.


w3wp.exe를 찾을 수 없으면 IIS가 현재 실행되고 있지 않은 것입니다. IIS Admin 서비스가 시작되었는지, WWW 서비스가 시작되었는지, 응용 프로그램 풀이 시작되었는지, IIS 웹 사이트 자체가 시작되었는지 확인합니다.
Joel Etherton 2012

당신이 사용하고 지역 IIS ( w3wp.exe) 또는 VS 개발 서버를 ( WebDev.WebServer40.exe)? 프로젝트 속성-> 웹 탭에서 확인하십시오.
SliverNinja-MSFT

6
"모든 사용자의 프로세스 표시"옵션을 선택해 보셨습니까?
Irvin Dominin 2012

제어판으로 이동 한 다음 IIS를 시작하려고 했습니까? 찾을 수 없습니다.

2
stackoverflow.com/questions/4313206/… 에서 대답하십시오 . tl; dr? w3wp 프로세스가 잠자기 때문에 브라우저에서 페이지를 새로 고쳐 깨우면 목록에 나타납니다.
Ruskin

답변:


178

w3wp.exe는 실제로 실행중인 웹 응용 프로그램의 인스턴스가 없으면 실행중인 프로세스에 표시되지 않습니다.

웹 페이지에 먼저 액세스하고 처음 표시되면 디버거를 연결하십시오. 이제 프로세스가 표시됩니다.


4
페이지를 새로 고친 지 오래 되었다면 프로세스가 잠자고있을 수 있습니다. 새로 고침으로 깨우십시오.
Ruskin

나는 이것을 처음으로 얻지 못한 것에 대해 스스로를 때리고 싶다
그러나 나는 래퍼 클래스가 아니다.

1
예, 프로세스에 연결하려고 할 때 사이트가 실행 중이어야합니다. 동일한 서버에있을 필요는 없습니다.
Hash

8
Windows8, 7, 당신은 관리자로 VS를 실행해야하는 것으로
Samih

1
이 부분을 제외하고 모든 것이 옳았습니다. 어떤 프로세스가 계속 실행되고 있지 않은 생각이 없었다
user919426을

85

작업 관리자 목록 맨 아래에있는 모든 사용자의 프로세스 표시를 클릭해야합니다. 이것이 내가해야 할 일입니다.


1
이것은 내 문제를 해결했습니다. 그 이유는 IIS에서 프로세스가 현재 사용자가 아닌 앱 풀에서 실행 중이었습니다.
L_7337

완벽합니다. Windows 7에서 작업하는 경우
fizmhd

12
  1. IIS 다시 시작
  2. 사이트를 마우스 오른쪽 버튼으로 클릭 >> 웹 사이트 관리 >> 찾아보기
  3. Visual Studio로 돌아가 프로세스 목록을 새로 고칩니다.

사이트에 따라 웹 사이트 관리 또는 애플리케이션 관리가 될 수 있습니다. 둘 다 w3wp.exe 프로세스를 시작합니다.
Milton

IIS를 다시 시작할 필요도 없었습니다. 2 단계와 3 단계 만 따랐고 작동했습니다. :) 목록이 새로 고쳐지지 않았을 수 있습니다.
thecoolmacdude

6

"모든 사용자에 대한 프로세스 표시"를 확인하십시오. 왼쪽 하단의 '프로세스에 연결'창에 '모든 사용자에 대한 프로세스 표시'확인란이 있습니다.


2

작동하는 쉬운 방법, w3wp가 목록에 나타나지 않을 때 브라우저를 열고 localhost를 작성한 다음 입력하십시오. 그 후 w3wp가 목록에 나타납니다.


1

Advanced Rest Client와 같은 것을 사용하여 경로를 테스트하는 경우 경로를 다시 호출 한 다음 프로세스 목록을 새로 고치면 표시됩니다.


1

GoTo 웹 프로젝트 속성-> 왼쪽 사이드 바에서 (웹) 선택-> (서버) 헤더 아래의 GoTo-> 드롭 다운 클릭 후 선택 "Local IIS"

적용합니다. 그런 다음 디버깅을 시작하면 프로세스 목록에 w3wp.exe가 표시됩니다.


1

방금이 문제가 발생했습니다. 호스트 설정을 다시 확인하고 실제로 프로덕션 서버가 아닌 localhost를 가리키고 있는지 확인하는 것이 좋습니다.

내가 원격 서버를 가리켰다는 것을 잊었 기 때문에 사이트에 액세스했지만 로컬이 아니었기 때문에 사이트가 실행중인 것을 볼 수 있었음에도 불구하고 w3wp가 실행되지 않았습니다.


1

제 경우에는 관리자 모드에서 Visual Studio를 열지 않았기 때문에 w3wp.exe가 목록에 표시되지 않았습니다.

관리자 모드에서 Visual Studio를 열었을 때 작동했습니다.

Visual Studio-> 관리자 모드에서 열기를 마우스 오른쪽 버튼으로 클릭합니다.


1

제 경우에는 웹 프로젝트를 다시 빌드하고 연결 시간 제한 (초)을 올리면 자동으로 디버그 / 프로세스에 연결 목록에 표시되고 계속 작동합니다.


0

나는 미래의 독자들에게도 내 경험을 공유하고 싶습니다.

주의, 당신이 가지고있는 경우에 웹 서버 클러스터 (로드 밸런싱 등을위한) 구성을w3wp 프로세스가 당신이 그것을 기대하는 동일한 시스템에서 시작되지 않을 수 있습니다.

웹 사이트가 단일 IIS 인스턴스 에서만 실행되도록 구성되지 않은 경우 w3wp프로세스가 웹 클러스터 내부의 다른 시스템 중 하나에서 실행될 수 있습니다.

이는 네트워킹 팀 / 부서의 잘못된 구성이거나 의도 된 동작 일 수 있습니다. 정확히 어떻게 구성해야하는지 정확히 지적하는 데 필요한 경험이 없습니다.

MSDN에서도 관련 페이지를 찾았습니다.

https://msdn.microsoft.com/en-us/library/bb742600.aspx


0

제 경우에는 한 Visual Studio에서 다른 VS 스튜디오 창에서 실행되는 프로세스로 연결해야했습니다.
문제는 다음이었습니다. 하나의 VS가 관리자 권한으로 시작되었습니다. 이 문제를 해결하려면 관리자 권한으로 두 VS를 실행해야합니다.


0

제 경우 문제는 Visual Studio를 관리자로 실행하지 않는다는 것입니다. 내 컴퓨터는 업데이트 후 다시 시작되고 이전에 실행중인 모든 프로세스를 다시 시작했지만 비 관리자 모드에서만 VS를 다시 시작했습니다. 관리자 모드에서 VS를 다시 시작했을 때 w3wp.exe 프로세스를 디버깅에 다시 사용할 수있었습니다.


0

관리자 권한으로 원격 디버거를 실행하십시오. 문제를 해결하기 위해 모든 제안을 따랐지만 관리자 권한으로 원격 디버거를 실행할 때까지 w3wp 프로세스를 볼 수있었습니다.


0

다음 단계를 시도하십시오.

  1. 솔루션 탐색기에서 가상 경로를 만듭니다.

  2. inetmgr로 이동하여 자체 풀이 생성되었는지 확인합니다.

  3. 프로세스 연결 (Ctrl + Alt + P)로 이동하여 모든 사용자에 대한 프로세스를 표시합니다.

  4. 그러면 w3wp.exe가 표시됩니다.


0

이러한 모든 단계 (웹 브라우저를 사용하여 인스턴스 시작, 관리자 권한으로 원격 디버깅 세션 시작, "모든 사용자 표시"가 선택되었는지 확인하는 등)를 수행 한 후에도 서버에 있지 않은지 확인합니다. 농장 등), 당신은 때때로 운이 좋지 않을 수 있습니다.

원격 프로세스, 일반적으로 제 경우에는 WCF 서비스가 연결할 프로세스 목록에 표시되지 않고 이에 대해 수행 할 수있는 작업이없는 경우가 있습니다. 나는 항상 특정 앱 풀에 보관하여 대상 프로세스를 쉽게 식별 할 수 있도록주의를 기울입니다. 때때로 당신은 여기에서 거기에 갈 수 없습니다. 이것은 의심 할 여지없이 Microsoft가 지금까지 한 원격 디버깅에서 가장 실망스러운 일입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.