IIS 6.0에서 ASP.NET이 교착 상태에 빠질 때 덤프 파일을 생성하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 828222 - 이 문서가 적용되는 제품 보기.

작업 내용

모두 확대 | 모두 축소

이 페이지에서

요약

Internet Information Services(IIS) 6.0에서 교착 상태가 발생하면 다음과 유사한 내용의 오류 메시지가 응용 프로그램 이벤트 로그에 나타납니다.

이벤트 종류: 경고
이벤트 원본: W3SVC-WP
이벤트 범주: 없음
이벤트 ID: 2262
날짜: 2003-07-29
시간: 오후 12:08:58
사용자: N/A
컴퓨터: ComputerName
설명: ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll'에서 다음 이유로 정상적인 상태가 아님을 보고했습니다: '교착 상태가 검색되었습니다.'

다음과 유사한 내용의 오류 메시지가 시스템 이벤트 로그에 나타납니다.

이벤트 종류: 경고
이벤트 원본: W3SVC
이벤트 범주: 없음
이벤트 ID: 1013
날짜: 2003-07-29
시간: 오후 12:09:34
사용자: N/A
컴퓨터: ComputerName
설명: 응용 프로그램 풀 'DefaultAppPool'을(를) 지원하는 프로세스를 종료하는 동안 제한 시간이 초과되었습니다. 프로세스 ID는 '2756'입니다.

자세한 정보는 http://support.microsoft.com

에 있는 도움말 및 지원 센터를 참조하십시오.

진단을 위한 덤프 파일 생성

IIS 6.0에는 고아 작업자 프로세스(OrphanWorkerProcess)라는 새로운 기능이 있습니다. 이 기능을 사용하면 종료되기 전에 재활용되도록 예약되는 프로세스를 감시할 수 있습니다. OrphanWorkerProcess를 통해 프로세스에 디버거를 연결하여 조사를 위한 덤프 파일을 생성할 수 있습니다.

참고 IIS 5.0 호환 모드에서 프로세스를 실행할 경우에는 이 기능을 사용할 수 없습니다.

작업자 프로세스가 고아 상태가 될 때 실행할 배치 파일 만들기

  1. 메모장을 엽니다.
  2. 메모장에 다음 코드를 붙여 넣습니다.
    @if "%_echo%"=="" echo off
    setlocal
        set TIMESTAMP=%DATE:~-9%_%TIME%
    set TIMESTAMP=%TIMESTAMP:/=_%
    set TIMESTAMP=%TIMESTAMP::=_%
    set TIMESTAMP=%TIMESTAMP:.=_%
    set TIMESTAMP=%TIMESTAMP: =_%
    set FILENAME=c:\crash_%TIMESTAMP%.dmp
    set LOG=c:\log.txt
    set COMMAND=c:\debuggers\cdb.exe -c ".dump /o /mhf %FILENAME%;q" -p %1
    
    echo %COMMAND% > %LOG%
    %COMMAND%
    
    endlocal
  3. 파일을 FileName.cmd로 저장합니다. 이 예제에서는 파일 이름을 action.cmd로 지정하지만 다른 파일 이름을 지정할 수도 있습니다.
참고 디버거의 위치와 덤프 파일이 생성될 위치를 수정해야 할 수 있습니다.

고아 작업자 프로세스 설정 구성

  1. 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.
    cd \Inetpub\adminscripts
  2. 고아 작업자 프로세스 기능을 활성화하려면 명령 프롬프트에서 다음 명령을 입력합니다.
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
    
  3. 명령 프롬프트에서 프로세스가 재활용되도록 예약될 때 실행할 실행 파일을 설정합니다. 예를 들어, 이 경우에는 "작업자 프로세스가 고아 상태가 될 때 실행할 배치 파일 만들기" 절에서 만든 배치 파일을 사용합니다.
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:\action.cmd"
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%1%" 
    
참고 OrphanActionExe 옵션이 "작업자 프로세스가 고아 상태가 될 때 실행할 배치 파일 만들기" 절에서 만든 배치 파일의 위치를 가리키는지 확인하고, W3wp.exe 프로세스의 ID가 이 파일에 대한 읽기 및 실행 권한을 가지고 있는지도 확인하십시오.

참조

자세한 내용은 다음 MSDN(Microsoft Developer Network) 웹 사이트를 참조하십시오.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/92d00c5e-e588-4151-be84-42561e9229f0.asp(영문)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/0efabfb5-c5dd-4a47-a52c-18335ffe1c45.asp(영문)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/c70603f3-7fc2-4e0b-b177-77b92c8fb38b.asp(영문)




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 828222 - 마지막 검토: 2007년 12월 4일 화요일 - 수정: 7.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
키워드:?
kbhowtomaster kbdebug KB828222

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com