.NET Application 의 간헐적인 Exception 발생에 대해 원인 분석이 필요할 때, 문제 발생 시점의 프로세스 메모리 덤프를 수집하는 방법에 대해서 아래와 같이 정리하였습니다.
1. DebugDiag 실행
가. Tools - Options And Settings - Perferences 에서 아래 2개의 옵션을 체크합니다.
1) Enable raw debugger logs. Includes debug output and engine messages.
2) Use service mode to overcome terminal server limitations (not persisted).
2. Add Rule - Crash
3. 문제가 발생하는 프로세스를 직접 선택하기 위해 'A specific process' 선택
4. 덤프 수집을 모니터 하고자 하는 문제의 프로세스 선택
5. Advanced Configuration (Optional) - Exception - CLR (.NET) Exception 선택 후 .NET Exception Type 에 발생하는 예외 이름을 대소문자를 구별하여 정확히 입력하며 Action Type 은 Full userdump 로 지정합니다.
6. 이후 메모리 덤프를 내려받을 경로 지정 - Activate the rule now 버튼을 클릭하여 모니터링을 진행합니다.
디버깅 설정에 앞서 메모리 덤프를 내려 받을 공간의 디스크 사이즈를 확인해야 하며, 모니터링에 필요한 약간의 CPU 리소스를 사용할 수 있으니 설정 전후의 리소스 사용량을 모니터 하는 것이 좋겠습니다.
[참고자료]
Download Debug Diagnostics Tool v1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en
작성자 : Lai Go / 작성일자 : 2010.03.03
1. DebugDiag 실행
가. Tools - Options And Settings - Perferences 에서 아래 2개의 옵션을 체크합니다.
1) Enable raw debugger logs. Includes debug output and engine messages.
2) Use service mode to overcome terminal server limitations (not persisted).
2. Add Rule - Crash
3. 문제가 발생하는 프로세스를 직접 선택하기 위해 'A specific process' 선택
4. 덤프 수집을 모니터 하고자 하는 문제의 프로세스 선택
5. Advanced Configuration (Optional) - Exception - CLR (.NET) Exception 선택 후 .NET Exception Type 에 발생하는 예외 이름을 대소문자를 구별하여 정확히 입력하며 Action Type 은 Full userdump 로 지정합니다.
6. 이후 메모리 덤프를 내려받을 경로 지정 - Activate the rule now 버튼을 클릭하여 모니터링을 진행합니다.
디버깅 설정에 앞서 메모리 덤프를 내려 받을 공간의 디스크 사이즈를 확인해야 하며, 모니터링에 필요한 약간의 CPU 리소스를 사용할 수 있으니 설정 전후의 리소스 사용량을 모니터 하는 것이 좋겠습니다.
[참고자료]
Download Debug Diagnostics Tool v1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en
작성자 : Lai Go / 작성일자 : 2010.03.03