SlideShare a Scribd company logo
1 of 26
Download to read offline
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 포스트모템 디버깅

More Related Content

What's hot

연산자 오버로딩
연산자 오버로딩연산자 오버로딩
연산자 오버로딩. Ruvendix
 
자바와 사용하기2
자바와 사용하기2자바와 사용하기2
자바와 사용하기2destinycs
 
Ubuntu에서 Flask개발 맛보기 - 1
Ubuntu에서  Flask개발 맛보기 - 1Ubuntu에서  Flask개발 맛보기 - 1
Ubuntu에서 Flask개발 맛보기 - 1Booseol Shin
 
Go lang(goroutine, channel, 동기화 객체)
Go lang(goroutine, channel, 동기화 객체)Go lang(goroutine, channel, 동기화 객체)
Go lang(goroutine, channel, 동기화 객체)seungkyu park
 
클래스의 추가 지식
클래스의 추가 지식클래스의 추가 지식
클래스의 추가 지식. Ruvendix
 
오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리도형 임
 
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 koreanJinsoo Park
 
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델
[0731 석재호]윈도우즈 기반 게임을 위한 선형적 프로그래밍 모델Jaeho Seok
 
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 - JUnitKyunghun Jeon
 
동시성 프로그래밍 기초 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 튜토리얼mangonamu
 
여러 생성자
여러 생성자여러 생성자
여러 생성자. Ruvendix
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 YoungSu Son
 
SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리EG Lim
 
[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장sung ki choi
 
Django개발은 PyCharm에서
Django개발은 PyCharm에서Django개발은 PyCharm에서
Django개발은 PyCharm에서Kyoung Up Jung
 
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
 

What's hot (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 개발환경 세팅하기
 

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

Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatilityYoungjun Chang
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명Peter YoungSik Yun
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows TerminalOnGameServer
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라INSIGHT FORENSIC
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 네이버 클라우드 플랫폼 init script 활용법 소개(정낙수 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2YoungGun Na
 
(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 baseINSIGHT FORENSIC
 
(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석INSIGHT FORENSIC
 
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debuggerINSIGHT FORENSIC
 
2014_서버용 자료유출방지 솔루션_시온
2014_서버용 자료유출방지 솔루션_시온2014_서버용 자료유출방지 솔루션_시온
2014_서버용 자료유출방지 솔루션_시온시온시큐리티
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)wonyong hwang
 
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 1Park Jonggun
 
샌드박스
샌드박스샌드박스
샌드박스Baekjoon Choi
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례Youngjun Chang
 
리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리Seungyong Lee
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensicsINSIGHT FORENSIC
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스종빈 오
 

Similar to [실전 윈도우 디버깅] 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장 프로세스
 

More from 종빈 오

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기종빈 오
 
적당한 스터디 발표자료 만들기 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 설명, 짝수 연습문제 풀이종빈 오
 

More from 종빈 오 (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 설명, 짝수 연습문제 풀이
 

Recently uploaded

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 ...Kim Daeun
 
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)Tae Young Lee
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
캐드앤그래픽스 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 DetectionKim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 

Recently uploaded (6)

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 ...
 
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)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
캐드앤그래픽스 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
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 

[실전 윈도우 디버깅] 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