SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
ohyecloudy http://ohyecloudy.com
아꿈사 http://cafe.naver.com/architect1.cafe

                               2009.10.17
고객의 정책, 환경 문제로 실시
간 접근이 불가능 할 때

실패 시점에 시스템 상태 스냅
샷을 만들어서 분석한다.
 덤프 파일
덤프 파일 기본
덤프 파일 생성
덤프 파일 사용
윈도우 오류 보고
덤프 파일 종류
풀full 덤프
  프로세서 실행 이미지
  핸들 테이블
  디버거가 사용하는 기타정보
  데이터 양을 조절할 수 없다.


미니mini 덤프
  커스터마이즈가 가능하다.
덤프 파일 생성 툴
- 윈도우 디버거
- ADPlus
- WER Window Error Report
- CER Corporate Error Reporting
덤프 파일 기본
 덤프 파일 종류, 생성 툴


덤프 파일 생성
덤프 파일 사용
윈도우 오류 보고
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();
}
덤프 파일 생성, 로드

                   데모
덤프 파일 생성 스크릮캐스트 : http://screencast.com/t/nkXLVNjv
생성한 덤프 로드 스크릮캐스트 : http://screencast.com/t/QRL0uDMgY
포스트모템 디버거
프로세스가 크래시될 때마다
윈도우가 디버거를 사용해
덤프 파일을 생성하게 하는 메커니즘
포스트모템 디버거 설정
HKEY_LOCAL_MACHINE
 Software
  Microsoft
   Windows NT
    CurrentVersionAeDebug

windbg.exe –p %ld –e %ld –g
  -p %ld : 연결할 프로세스
  -e %ld : 연결이 완료될 때 시그널되는 이벤트
  -g : 연결할 때 발생하는 최초 디폴트 중단점을 무시
VS JIT 디버거
ADPlus
adplus.vbs -crash -pn awdscenario1.exe -y
SRV*c:Symbols*http://msdl.microsoft.com/download/symbols
ADPlus(계속)
자동으로 덤프 파일 생성.
 FullOnFirst
 MiniOnSecond
 NoDumpOnFirst
 NoDumpOnSecond
커널덤프
제어판 > 시스템 > 고급 > 시작 및 복구
커널 덤프 종류
젂체 메모리 덤프
 - 모든 물리 메모리 포함
 - 젂체 RAM보다 1MB 큰 파일을 저장할 공간 필
   요
커널 메모리 덤프
 - 시스템 물리 메모리 1/3
 - 윈도우 커널, HAL, 커널 모드 드라이버…
작은 메모리 덤프minidump
 - 64KB, 덤프 파일 공간이 제한되어 있을 때 유용.
 - 프로세서 컨텍스트, 커널 컨텍스트, 호출 스택…
수동으로 크래시 덤프 파일 생성
HKEY_LOCAL_MACHINE
 system
  CurrentControlSet
   Services
    i8042prtParameters
     <CrashOnCtrlScroll, REG_DWORD 0x1>

오른쪽 CTRL + SCROLL LOCK을 두번 누르면
크래시
  PS2 키보드
덤프 파일 기본
 덤프 파일 종류, 생성 툴

덤프 파일 생성
 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프


덤프 파일 사용
윈도우 오류 보고
덤프 파일 분석 :
        접근 위반, 핸들 누수

                    데모
접근 위반 분석 스크릮캐스트 : http://screencast.com/t/3j1AEyix5J0
핸들 누수 덤프 생성 스크릮캐스트 : http://screencast.com/t/EfQReO9n
핸들 누수 덤프 분석 스크릮캐스트 : http://screencast.com/t/5mYX8tscYG
덤프 파일 기본
 덤프 파일 종류, 생성 툴

덤프 파일 생성
 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프

덤프 파일 사용
 접근 위반, 핸들 누수 덤프 파일 분석 데모


윈도우 오류 보고
Dr.Watson
WER Window Error Report 서비스에 보낼 수 있는
오류 보고 정보를 생성
  -   예외 섹션
  -   시스템 정보
  -   작업 목록
  -   모듈 목록
  -   쓰레드 상태 덤프
  -   스택 역추적
  -   로raw 스택 덤프
윈도우 오류 보고 아키텍처
                                사용자
                           프로세스 X가 크래시
                           Dr.Watson UI 표시
                           “보내기”를 클릭




                           크래시 데이터


                                       폴트 대응
                                     WER
 피드백 루프로 사용할 수 있는 수정을 제공
                             크래시 데이터를 관리
ISV                        (질의, 피드백 루프 제공…)

      크래시 데이터가 있는지 주기적으로 질의
윈도우 오류 보고
크래시 덤프 및 오류 보고를 대신 수집,
관리해준다.

등록 젃차
 - 사용자 계정, 회사 계정 생성
 - 무료

책 664 참고
기업 오류 보고
오류 보고를 지역적으로 보관할 수 있다.
 - MS로 덤프, 오류 보고를 선택해서 보낼 수 있다.
 - 보안에 민감한 부분


책 683 참고
덤프 파일 기본
 덤프 파일 종류, 생성 툴

덤프 파일 생성
 덤프 생성 데모, 포스트모템 디버거, ADPlus, 커널 덤프

덤프 파일 사용
 접근 위반, 핸들 누수 덤프 파일 분석 데모

윈도우 오류 보고
 Dr.Watson, WER, CER
[실전 윈도우 디버깅] 13 포스트모템 디버깅

Weitere ähnliche Inhalte

Was ist angesagt?

자바와 사용하기2
자바와 사용하기2자바와 사용하기2
자바와 사용하기2
destinycs
 
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
Jaeho Seok
 
[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장
sung ki choi
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Joongi Kim
 

Was ist angesagt? (20)

연산자 오버로딩
연산자 오버로딩연산자 오버로딩
연산자 오버로딩
 
자바와 사용하기2
자바와 사용하기2자바와 사용하기2
자바와 사용하기2
 
Ubuntu에서 Flask개발 맛보기 - 1
Ubuntu에서  Flask개발 맛보기 - 1Ubuntu에서  Flask개발 맛보기 - 1
Ubuntu에서 Flask개발 맛보기 - 1
 
Go lang(goroutine, channel, 동기화 객체)
Go lang(goroutine, channel, 동기화 객체)Go lang(goroutine, channel, 동기화 객체)
Go lang(goroutine, channel, 동기화 객체)
 
클래스의 추가 지식
클래스의 추가 지식클래스의 추가 지식
클래스의 추가 지식
 
오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리
 
AWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide koreanAWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide korean
 
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
 
예외 처리
예외 처리예외 처리
예외 처리
 
Backend Master | 3.2.1 Test - JUnit
Backend Master | 3.2.1 Test - JUnitBackend Master | 3.2.1 Test - JUnit
Backend Master | 3.2.1 Test - JUnit
 
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
 
Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼
 
여러 생성자
여러 생성자여러 생성자
여러 생성자
 
TBB 소개
TBB 소개TBB 소개
TBB 소개
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
 
SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리
 
전처리기
전처리기전처리기
전처리기
 
[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장
 
Django개발은 PyCharm에서
Django개발은 PyCharm에서Django개발은 PyCharm에서
Django개발은 PyCharm에서
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
 

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

게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
OnGameServer
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2
YoungGun Na
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
종빈 오
 

Ähnlich wie [실전 윈도우 디버깅] 13 포스트모템 디버깅 (20)

Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatility
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2
 
(130511) #fitalk utilization of ioc, ioaf and sig base
(130511) #fitalk   utilization of ioc, ioaf and sig base(130511) #fitalk   utilization of ioc, ioaf and sig base
(130511) #fitalk utilization of ioc, ioaf and sig base
 
04 프로세스
04 프로세스04 프로세스
04 프로세스
 
(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석
 
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debugger
 
2014_서버용 자료유출방지 솔루션_시온
2014_서버용 자료유출방지 솔루션_시온2014_서버용 자료유출방지 솔루션_시온
2014_서버용 자료유출방지 솔루션_시온
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)
 
IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1
 
shell and process
shell and processshell and process
shell and process
 
샌드박스
샌드박스샌드박스
샌드박스
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례
 
리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
 

Mehr von 종빈 오

내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기
종빈 오
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜
종빈 오
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
종빈 오
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개
종빈 오
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템
종빈 오
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
종빈 오
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments
종빈 오
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우
종빈 오
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합
종빈 오
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
종빈 오
 
[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline
종빈 오
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당
종빈 오
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary
종빈 오
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
종빈 오
 
[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명
종빈 오
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
종빈 오
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
종빈 오
 

Mehr von 종빈 오 (20)

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)
 
내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
 
[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
 
[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
 

Kürzlich hochgeladen

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Kürzlich hochgeladen (7)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

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

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