IIS 인스턴스에 디버거 연결


83

XP 시스템과 Visual Studio 2005에 IIS 5.1이 있습니다. 디버거를 IIS 인스턴스에 연결하려면 어떻게해야합니까?

BTW : 실행중인 프로세스 내에서 IIS 프로세스가 보이지 않거나 무엇을 찾아야할지 모르겠습니다.


1
Google에서 온 다른 사람들을 위해 : 분명히 이것은 Visual Web Developer 2010 Express에서 가능하지 않습니다. 나는 그것이 Visual C # Express에도 없다고 생각합니다.
Joel Peltonen 2013

답변:


133

Visual Studio에서 :

  1. 메뉴 표시 줄에서 "디버그"를 클릭합니다.
  2. "처리에 첨부"를 클릭하십시오.
  3. "를 확인 모든 사용자의 프로세스 표시를 왼쪽 하단에있는 체크 박스"
  4. 프로세스 목록에서 aspnet_wp.exe , w3p.exe 또는 w3wp.exe 를 선택 합니다.
  5. "첨부"를 클릭하십시오.

1
감사합니다. 혹시 Vista Business와 IIS 7에서이 작업을 수행하는 방법을 알고 계십니까?
Mihai Lazar

35
w3p.exe 프로세스를 보면 위의 단계를 사용하여 연결을 시도
jerjer

2
@Mihai : Vista / Win7 / 2008 / 2008R2에서이 작업을 수행하려면 관리자 권한으로 디버거를 실행해야합니다.
리처드

1
@Rcihard 여러 ApplicationDomains가있을 때 또 한가지는 각각 다른 W3wp.exe를 인스턴스를 시작하고, 나는 어떤을 위해 밖으로 모양에있을 필요가 현재 :) 내 코드를 실행하는 하나
미하 라자

5
@MihaiLazar 실행 C:\windows\system32\inetsrv\appcmd list wp하여 응용 프로그램 풀과 해당 프로세스 ID를 나열하고 연결할 항목을 찾습니다. blogs.msdn.com/b/friis/archive/2009/10/22/…
Nathan

18

Jimmie R. Houts 답변을 명확히하기 위해…

웹 애플리케이션 VS 및 IIS를 디버깅하려면 다음을 수행 할 수 있습니다.

  1. IIS (가상 디렉터리 등) 내에서 사이트를 호스팅합니다.
  2. 그런 다음 VS2005에서 다음을 수행하십시오.

    • 웹 프로젝트 → 속성 → 시작 옵션 → 사용자 지정 서버 사용 → 기본 URL → IIS에서 호스팅되는 사이트 주소 입력을 마우스 오른쪽 버튼으로 클릭합니다.
    • 히트 F5하면 코드를 디버그 할 수 있습니다.

VS 2008에서도 마찬가지입니다.


몇 년이 지나도 최신 IIS 버전 (현재 Windows 10을 통해 10.0.18362.1 사용)에서 여전히 작동하는지 확인할 수 있습니다. VS2010에서 위의 단계를 수행했으며 서비스에 연결하지 않고 원격으로 디버깅 할 수있었습니다. 첨부 할 w2p.exe, w3wp.exe, aspnet_wp.exe, donet.exe 또는 inetinfo.exe를 찾을 수 없습니다.
Feynt

14

IIS 버전 7.5와 함께 Windows 7을 실행 중이며 "프로세스에 연결"대화 상자의 맨 아래에있는 "모든 사용자의 프로세스 표시"및 "모든 세션의 프로세스 표시"상자를 선택해야했습니다.

또한 내 앱을 특정 앱 풀에 넣었으므로 w3wp.exe에 대해 레이블이 지정된 것을 볼 수 있습니다.


5

IIS 프로세스는 aspnet_wp.exe입니다.

실제로 aspnet_wp.exe 프로세스에 연결하는 것은 디버깅에 IIS를 사용하도록 프로젝트를 설정 한 경우 VS가 수행하는 작업입니다.


3

ASP.NET 프로세스의 가능한 이름 :

  • w3wp.exe는 IIS 6.0 이상입니다.
  • aspnet_wp.exe는 이전 버전의 IIS입니다.
  • iisexpress.exe는 IISExpress입니다.
  • dotnet.exe는 ASP.NET Core입니다.
  • inetinfo.exe는 in-process로 실행되는 이전 ASP 응용 프로그램입니다.

에서 ASP.NET 프로세스의 이름 찾기


1

또한 제어판> 관리 도구에서 인터넷 정보 서비스를 열어야합니다. 해당 웹 사이트를 마우스 오른쪽 버튼으로 클릭하고 홈 디렉토리 탭을 클릭 한 다음 구성 버튼을 선택합니다. 그러면 세 개의 탭이있는 새 양식이 열립니다. 디버깅 하나를 클릭하고 디버깅 플래그 섹션에서 두 가지 옵션을 선택합니다. 이것은 디버깅에도 필요합니다.


2
이것은 ASP 코드를 디버깅하는 데만 필요합니다. ASP.NET, ISAPI, ... 및 기타 모든 코드 추가 방법 에는이 기능이 필요 하지 않습니다 .
리처드

0

IIS 플러그인에 연결 ( VS2015 , VS2017 ) 플러그인을 사용하면 클릭 몇 번을 줄일 수 있습니다.

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