2009-12-27 7 views
1

웹 응용 프로그램이 있는데 가끔 중단됩니다. 그 이유를 조사하고 싶습니다. 프로세스가 중단 될 때 프로세스의 메모리 덤프를 가져와야합니다.adplus.vbs로 덤프 캡처 - 디버거가 끝날 때까지 기다리시겠습니까?

내 생각에 웹 사이트를 모니터링 할 때 멈춤을 감지하면 메모리 덤프를 캡처하는 .bat 스크립트를 시작한 다음 IISRESET을 실행하여 사이트가 다시 응답하기 시작합니다.

내 문제는 adplus가 다른 프로세스 (cdb.exe)를 시작하고 즉시 반환된다는 것입니다. IISRESET을 실행하기 전에 cdb.exe가 완료 될 때까지 기다려야합니다. 배치 스크립트에서이를 수행 할 수있는 방법이 있습니까? 또는 adplus 명령 줄에서 메모리 덤프가 수집 될 때까지 반환해서는 안되는 것을 지정할 수 있습니까?

답변

2

를 다시 시작, 대답은 '예'입니다. 둘 다 (1) 명령 행에서 기다림을 지정할 수 있습니다 (사용자가 액세스하고 수정할 수있는 한). (2) 배치 파일에서 프로세스가 완료 될 때까지 대기합니다. 가장 단순한 형태에서

(1) START /WAIT cdb parms 대신 원하는 명령에 대한 바로 cdb parms

(2) 시도 FOR /F "tokens=1,2" %a in ('TASKLIST ^| FIND /I "cdb.exe"') DO @ECHO %a %b 및 대체 ECHO의 사용합니까.

2

웹 응용 프로그램의 메모리 덤프를 만들려면 Microsoft Debug Diagnostic Tools이 가장 좋습니다.

지정된 시간 (초) 내에 응답이 없을 때마다 특정 URL을 모니터링하고 메모리 덤프를 만드는 "IIS 응답"규칙을 만들 수 있습니다.

디버그 진단 도구는 IIS (또는 응용 프로그램 풀)를 다시 시작하는 데 도움이되지 않지만 일반적으로 기본 제공 응용 프로그램 풀 다시 시작 옵션으로 충분합니다. 상태 탭의 AppPool에 대해 "Ping 사용"이 설정되어 있는지 확인하고 다른 건강/재활용 매개 변수도 적절하게 설정하면 응용 프로그램은 어떤 일이 일어나더라도 계속 응답해야합니다. 그렇지 않으면

이 충돌로 출력 폴더를 모니터링하는 것은 당신의 "IIS 끊기"DebugDiag 규칙에서 덤프와 질문의 두 번째 부분에 대해서는 새로운 파일이 트릭을 확실히해야 표시 할 때마다 IIS ...

관련 문제