[실전 윈도우 디버깅] 13 포스트모템 디버깅

2,272 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,272
On SlideShare
0
From Embeds
0
Number of Embeds
351
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

[실전 윈도우 디버깅] 13 포스트모템 디버깅

  1. 1. ohyecloudy http://ohyecloudy.com아꿈사 http://cafe.naver.com/architect1.cafe 2009.10.17
  2. 2. 고객의 정책, 환경 문제로 실시간 접근이 불가능 할 때실패 시점에 시스템 상태 스냅샷을 만들어서 분석한다. 덤프 파일
  3. 3. 덤프 파일 기본덤프 파일 생성덤프 파일 사용윈도우 오류 보고
  4. 4. 덤프 파일 종류풀full 덤프 프로세서 실행 이미지 핸들 테이블 디버거가 사용하는 기타정보 데이터 양을 조절할 수 없다.미니mini 덤프 커스터마이즈가 가능하다.
  5. 5. 덤프 파일 생성 툴- 윈도우 디버거- ADPlus- WER Window Error Report- CER Corporate Error Reporting
  6. 6. 덤프 파일 기본 덤프 파일 종류, 생성 툴덤프 파일 생성덤프 파일 사용윈도우 오류 보고
  7. 7. void __cdecl wmain(){ WCHAR* pszTitle=L”Advanced Windows Debugging”; wprintf(L”Press any key to startn”); WCHAR* pBuffer=(WCHAR*)new WCHAR[wcslen(pszTitle)+1]; if (pBuffer) { StringCchCopy( pBuffer, wcslen(pszTitle)+1, pszTitle); wprintf(L”Title: %sn”, pBuffer); pBuffer = NULL; *pBuffer = ‘0’; } else { wprintf(L”Failed to allocate memoryn”); } wprintf(L”Press any key to endn”); __getch();}
  8. 8. 덤프 파일 생성, 로드 데모덤프 파일 생성 스크릮캐스트 : http://screencast.com/t/nkXLVNjv생성한 덤프 로드 스크릮캐스트 : http://screencast.com/t/QRL0uDMgY
  9. 9. 포스트모템 디버거프로세스가 크래시될 때마다윈도우가 디버거를 사용해덤프 파일을 생성하게 하는 메커니즘
  10. 10. 포스트모템 디버거 설정HKEY_LOCAL_MACHINE Software Microsoft Windows NT CurrentVersionAeDebugwindbg.exe –p %ld –e %ld –g -p %ld : 연결할 프로세스 -e %ld : 연결이 완료될 때 시그널되는 이벤트 -g : 연결할 때 발생하는 최초 디폴트 중단점을 무시
  11. 11. VS JIT 디버거
  12. 12. ADPlusadplus.vbs -crash -pn awdscenario1.exe -ySRV*c:Symbols*http://msdl.microsoft.com/download/symbols
  13. 13. ADPlus(계속)자동으로 덤프 파일 생성. FullOnFirst MiniOnSecond NoDumpOnFirst NoDumpOnSecond
  14. 14. 커널덤프제어판 > 시스템 > 고급 > 시작 및 복구
  15. 15. 커널 덤프 종류젂체 메모리 덤프 - 모든 물리 메모리 포함 - 젂체 RAM보다 1MB 큰 파일을 저장할 공간 필 요커널 메모리 덤프 - 시스템 물리 메모리 1/3 - 윈도우 커널, HAL, 커널 모드 드라이버…작은 메모리 덤프minidump - 64KB, 덤프 파일 공간이 제한되어 있을 때 유용. - 프로세서 컨텍스트, 커널 컨텍스트, 호출 스택…
  16. 16. 수동으로 크래시 덤프 파일 생성HKEY_LOCAL_MACHINE system CurrentControlSet Services i8042prtParameters <CrashOnCtrlScroll, REG_DWORD 0x1>오른쪽 CTRL + SCROLL LOCK을 두번 누르면크래시 PS2 키보드
  17. 17. 덤프 파일 기본 덤프 파일 종류, 생성 툴덤프 파일 생성 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프덤프 파일 사용윈도우 오류 보고
  18. 18. 덤프 파일 분석 : 접근 위반, 핸들 누수 데모접근 위반 분석 스크릮캐스트 : http://screencast.com/t/3j1AEyix5J0핸들 누수 덤프 생성 스크릮캐스트 : http://screencast.com/t/EfQReO9n핸들 누수 덤프 분석 스크릮캐스트 : http://screencast.com/t/5mYX8tscYG
  19. 19. 덤프 파일 기본 덤프 파일 종류, 생성 툴덤프 파일 생성 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프덤프 파일 사용 접근 위반, 핸들 누수 덤프 파일 분석 데모윈도우 오류 보고
  20. 20. Dr.WatsonWER Window Error Report 서비스에 보낼 수 있는오류 보고 정보를 생성 - 예외 섹션 - 시스템 정보 - 작업 목록 - 모듈 목록 - 쓰레드 상태 덤프 - 스택 역추적 - 로raw 스택 덤프
  21. 21. 윈도우 오류 보고 아키텍처 사용자 프로세스 X가 크래시 Dr.Watson UI 표시 “보내기”를 클릭 크래시 데이터 폴트 대응 WER 피드백 루프로 사용할 수 있는 수정을 제공 크래시 데이터를 관리ISV (질의, 피드백 루프 제공…) 크래시 데이터가 있는지 주기적으로 질의
  22. 22. 윈도우 오류 보고크래시 덤프 및 오류 보고를 대신 수집,관리해준다.등록 젃차 - 사용자 계정, 회사 계정 생성 - 무료책 664 참고
  23. 23. 기업 오류 보고오류 보고를 지역적으로 보관할 수 있다. - MS로 덤프, 오류 보고를 선택해서 보낼 수 있다. - 보안에 민감한 부분책 683 참고
  24. 24. 덤프 파일 기본 덤프 파일 종류, 생성 툴덤프 파일 생성 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프덤프 파일 사용 접근 위반, 핸들 누수 덤프 파일 분석 데모윈도우 오류 보고 Dr.Watson, WER, CER

×