ASP.NET Development Server 대신 IIS에 디버거를 연결하려면 어떻게합니까?
ASP.NET 웹 사이트가 있는데 F5 키를 누르면 자동으로 ASP.NET 개발 서버에 연결됩니다. 대신 F5 키를 누르면 IIS 작업자 프로세스에 연결하려면 어떻게해야합니까?
프로젝트 속성을 열고 웹 탭으로 이동하여 IIS 옵션을 선택합니다.
실제로 IIS에서 앱의 인스턴스를 시작하고 디버거를 연결합니다. 기존 IIS 인스턴스에만 연결하려는 경우 디버그 메뉴에서 프로세스에 연결을 선택합니다.
디버그-> 처리에 연결 ...
목록에서 aspnet_wp.exe 프로세스를 선택합니다 .
IIS> 버전 5를 실행하는 경우 프로세스는 w3wp.exe 이고 모든 앱 풀에 대해 하나씩 있습니다 (따라서 어떤 앱 풀을 사용하고 있는지 모르는 경우 모든 앱에 연결해야합니다. 그들의).
디버그-> VS 메뉴에서 프로세스에 연결.
연결할 w3wp.exe 프로세스를 확인하려면 2008 서버에서 다음 명령을 사용할 수 있습니다.
c:\%systemroot%\system32\inetsrv\appcmd list wp
Windows 2003에서는
c:\%systemroot%\system32\cscript iisapp.vbs
자세한 내용은 IIS 응용 프로그램 풀 PID를 참조하십시오 .
그러나 작업 관리자 (taskmgr.exe)에 대한 액세스 권한이 있으면 프로세스 ID와 함께 프로세스 이름을 직접 볼 수 있으며 대부분의 경우 프로세스의 "사용자 이름"열은 응용 프로그램과 동일합니다. 풀 이름 (물론 정보를 보려면 이러한 열이 작업 관리자에 표시되도록 설정해야합니다).
그러나 모든 방법은 현재 실행중인 프로세스 만 표시합니다. 즉, 특정 프로세스가 유휴 시간으로 인해 종료 된 경우 해당 프로세스를 목록에 표시하려면 먼저 사이트를 사용해야합니다.
또한 응용 프로그램이 "Web Garden"(하나 이상의 w3wp.exe가 있음) 인 경우 올바른 프로세스에 연결 한 후에도 사이트에 대한 트래픽이 다른 사이트로 향할 수 있으므로 중단 점이 적중 될 것이라는 보장이 없습니다. 방법.
또한 릴리스 모드에서 실행되는 응용 프로그램에 연결하면 이제 대신 디버그 모드로 실행됩니다. 즉, 시간 제한 제한이 없습니다 (실제로 시도하는 경우 약간의 문제가 될 수 있음). 시간 초과 오류 문제 해결).
원격 프로세스에 연결하려는 경우 다음이 모범 사례입니다.
- 관련 포트를 열거 나 완전히 비활성화하여 방화벽이 차단되지 않는지 확인하십시오 (완료되면 다시 켜십시오).
- 원격 컴퓨터에 대한 관리 권한이있는 Windows 도메인 계정이 있거나 원격 컴퓨터에 VS를 실행하는 로컬 컴퓨터와 동일한 사용자 이름 및 암호를 가진 계정이 있어야합니다.
- VS가 설치된 컴퓨터에서 (Visual Studio 설치 경로) \ Microsoft Visual Studio (현재 버전 번호) \ Common7 \ IDE \ Remote Debugger (Remote Machine Version)로 이동하여이 폴더를 원격 컴퓨터에 복사하여 붙여 넣거나 공유합니다. 원격 컴퓨터에서 액세스 할 수 있도록 폴더를 만듭니다.
- 원격 컴퓨터에서 로컬 컴퓨터 (2 단계 참조)와 동일한 사용자로 로그인하고 3 단계의 복사 또는 공유 폴더로 이동 한 다음 "msvsmon.exe"를 마우스 오른쪽 단추로 클릭하고 컨텍스트 메뉴에서 "다음 계정으로 실행"을 선택합니다. 관리자".
- 원격 모니터가 시작되고 일반적으로 (user) @ (remote machine) 이름 또는 다른 이름으로 서버가 시작되었다고 주장해야합니다.
- VS에서 메뉴에서 디버그-> 프로세스에 연결을 선택하고 전송을 "기본값"으로두고 "정규 자 이름"에 5 단계의 이름을 입력합니다.
모든 것이 올바르게 진행되면 원격 컴퓨터의 프로세스 목록이 나타납니다. .
물론이 주제에는 더 많은 내용이 있으며 네이티브 코드를 디버깅하는 과정은 훨씬 더 간단 할 수 있지만 여기에 나열된 단계는 모든 경우에 작동합니다.
더 자세한 정보는 http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx 또는 MSDN 및이 사이트의 많은 게시물을 참조하십시오.
이것이 도움이되기를 바랍니다.
또는 Visual Studio 에 IIS 플러그인 에 연결 중 하나를 사용할 수 있습니다 .
내가 선호하는 확장은 VSCommands ( VS 2010-2012 또는 2013 용 이지만 아직 2015 년은 아님) 또는 ReAttach (2017 년에 작동)입니다.
웹 애플리케이션의 속성으로 이동합니다. "시작 옵션"섹션을 선택하고 "기본 웹 서버 사용"에서 "사용자 지정 서버 사용"으로 변경합니다. 기본 URL에 " http : // localhost "를 입력합니다.
(VS 2008 가정)
'programing tip' 카테고리의 다른 글
Variadic 템플릿 팩 확장 (0) | 2020.11.07 |
---|---|
Spyder 편집기 배경을 어둡게 변경하는 방법은 무엇입니까? (0) | 2020.11.07 |
Pages # home의 Rails ExecJS :: ProgramError? (0) | 2020.11.06 |
Xcode 전체 스택 추적 (0) | 2020.11.06 |
LINQ를 사용하여 문자열을 정수 배열로 변환 (0) | 2020.11.06 |