피터지고 치열하게 삶을 유지하다  
Front Page
Notice | Keyword | Tag | Location | Guestbook | Admin | Write Article   
 
블루스크린에 해당하는 글 1건
2006/12/23   시스템의 심각한 오류로 인한 .dmp 파일 분석


시스템의 심각한 오류로 인한 .dmp 파일 분석


참조 : 메모리 덤프 파일 분석 무작정 따라하기 (자세히 보기)

설치 관련 참고 :
1) 시스템 사양
  • 적용가능 운영체제
  32-bit 또는 64-bit Microsoft Windows Server 2003
  32-bit 또는 64-bit Windows XP, Windows 2000,
  Windows NT 4.0
  Windows codenamed "Longhorn".
  • Microsoft Internet Explorer 5.0 이후 버젼.
  • 25 MB 정도의 하드 여유 공간.

(2) Debugging Tools for Windows 32-bit Version

바로 다운받기 영문 사이트 : http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

(3) OS별 Symbols Package 디버깅을 원하는 OS 별로 Symbol을 아래 사이트 다운 받아 설치합니다. Windows XP용 Symbol은 아래와 같이 세가지로 구분되므로 사용자의 환경에 따라 구분 사용합니다.

Windows XP with Service Pack 2 symbols (Windows XP SP2) Windows XP with Service Pack 2 x86 retail symbols, all languages

Windows XP with Service Pack 1 and Service Pack 1a symbols (Windows XP SP1, SP1a) Windows XP with Service Pack 1 and Service Pack 1a x86 retail symbols, all languages

Windows XP symbols with no Service Pack (Windows XP)
Windows XP x86 retail symbols, all languages


윈도우의 심각한 오류로 인해 블루 스크린이 뜨고 재부팅이 되면 %SystemRoot%\Minidump
(예 : \Windows\Minidump)에 xxx.dmp 파일이 생성된다.

그동안 그냥 넘어가다가 나의 애지중지 노트북이 부팅중 벌써 두번째 블루 스크린을 내보내는 관계로
도대체 무엇때문인지 궁금했다. 첫번째는 동영상 재생중 값자기 재부팅 되었던 것으로 기억한다.
그때는 처음이고 부지불식 간이고 재생을 계속 진행해야 해서 그냥 넘어갔다.

오늘은 컴퓨터를 정상 종료한뒤 새로 부팅을 하는 도중 블루 스크린이 뜨더니 재부팅 되어
언제 그랬냐는 듯이 잘 부팅되어 "심각한 오류로부터 복구되었습니다"란다.

  그래서 그 원인을 자세히 알아보기로 하였다.

근데 커널 관련 Symbol 파일이 압축 파일로 약 200MB 가 된다. 설치하면 800MB정도 될거란다.
허걱 --; 아마 커널 관련된 Debug Symbol을 다 설치하나 보다.
그리고 당연한 거겠지만 OS별, Service Pack별로 다 따로 있다. ㅋㅋ

여하튼 third part  Device Driver 나 System Driver 파일에 대한 Symbol은 없을테니
어느 정도 꼭 집어내어 정확한 원인을 파악할 수 있게 도와줄지 사뭇 궁긍하였다.

Symbol이 설치되는 것을 보니 역시 생각했던 PDB 파일들이 대부분임을 알았다.
.sym 파일은 몰랐던 파일인데 찾아보니 둘다 Symbol 파일인데 DDK로 개발한 Device Driver는 .sym이
생성되는 듯 하다.

설치와 설정을 끝내고 dmp 파일을 디버깅하면 앞에 에러처럼 보이는 메시지들이 지나 가지만
무시하고 !analyze- v 명령을 내리면 다음 결과가 나온다.


kd> !analyze -v
ERROR: FindPlugIns 8007007b
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: bad0b154, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 80581e27, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 00000000, (reserved)

Debugging Details:
------------------


Could not read faulting driver name

READ_ADDRESS:  bad0b154

FAULTING_IP:
nt!IopParseDevice+4ac
80581e27 8b88a4000000    mov     ecx,dword ptr [eax+0A4h]

MM_INTERNAL_CODE:  0

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  DRIVER_FAULT

BUGCHECK_STR:  0x50

PROCESS_NAME:  System

LAST_CONTROL_TRANSFER:  from 805d4542 to 80581e27

STACK_TEXT: 
f7110cb4 805d4542 86713b50 f7110d04 00000060 nt!IopParseDevice+0x4ac
f7110d74 804e626b 00000000 00000000 867aed80 nt!ExpRefreshTimeZoneInformation+0x219
f7110dac 8057de15 00000000 00000000 00000000 nt!IopfCompleteRequest+0x1df
f7110ddc 804fc4da 804e6196 80000001 00000000 nt!CcCopyRead+0x3aa
f7110e0c 00000000 00000000 00000000 00000000 nt!KeStartThread+0x4b


STACK_COMMAND:  kb

FOLLOWUP_IP:
nt!IopParseDevice+4ac
80581e27 8b88a4000000    mov     ecx,dword ptr [eax+0A4h]

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  nt!IopParseDevice+4ac

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: nt

IMAGE_NAME:  ntoskrnl.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  42250ff9

FAILURE_BUCKET_ID:  0x50_BADMEMREF_nt!IopParseDevice+4ac

BUCKET_ID:  0x50_BADMEMREF_nt!IopParseDevice+4ac

------------

이것 때문이란다.

대략 해석하면 ntoskrnl.exe에서 lopParseDevice를 수행하다가 Error Code 0x50을 리턴했다는 것이다.

그리고 Error Code만 가지고 해석을 한다면 이런 이유 때문이란다. ( Windows 블루스크린의 각종 오류 내용들... )

Error code Stop 0x00000050 or PAGE_FAULT_IN_NONPAGED_AREA
◈ 내 용 1. 요청된 데이터가 메모리에 상주되어 있지 않을때 발생하는 에러이다.

2. 호환이 잘 안되는 소프트웨어 설치시(원격 엑세스, 바이러스 백신)들이 에러를 일으키는 원인이 된다.

3. 결함이있는 메모리(메인 메모리,L2케시 메모리,video RAM)

☞ 문제해결 방법 - 잘못된 드라이버 설치시 에러를 발생시킬수 있다. 드라이버를 삭제하고 업데이트된 드라이버를 재설치 한다.

- 만약 제조회사에서 드라이버를 찾지못한다면 비슷한 종류의 드라이버로 교체한다.

정확한 원인을 알 수는 없지만 그래도 조금은 답답함이 풀리는 기분이다.

추가로 다른 시스템에서 블루스크린이 발생해 전에 저장해 두었던 .dmp 파일도 분석해 보았는데 거기에서는 UnKnown 모듈에서 zwTestAlert (Native API)를 호출하다가 0x0A 에러를 리턴하는 것도 알 수 있었다.
백신에서 후킹을 통해 시스템 리소스에 접근하다가 에러가 난것으로 생각이 들기도 하지만 에러코드로만
해석하면 호환성이 부족한(2000용이나 구 NT용 드라이버) 드라이버에서 발생한 Error 일 수도 있다.
여하튼 2~3주에 한번씩 값자기 리부팅 되던 시스템이 백신의 여러가지 실시간 감시 기능을 제거하고서는
지금까지(2주경과)는 이상없다. 참 중간에 BIOS에서 USB 2.0이 막혀있어 풀어주기도 했다.(USB 락키를 사용했었다)



2여년간 시스템을 사용하면서 2번 발생했고, 첫번째는 모르고 두번째가 이 이유이고
ntoskrnl.exe와 스택의 ExpRefreshTimeZoneInformation를 하는 과정에서 일어난 것을 보면
메모리 때문일 확률이 높은것 같다. 메모리 증설후 일어 났기 때문이다.
어쩌다 메모리 I/O에 문제가 생기든지 결함이 있나보다.

위키에 windbg.exe 사용법과 블루 스크린 에러 코드별 의미를 정리해두어야겠다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기
Tag : ,
Track this back : http://www.codeforum.net/blog/pitoosung/trackback/13

name    password    homepage
 hidden


BLOG main image
피투성의 IT 분투기
 Notice
(2009.11.30) - ㅠ.ㅠ 안녕! 서버 H/W 시스템 교체(서버보드 사망, HP Workstation으로 교체)
(2008.2.2) IP : 195.225.178.29 - 스팸 차단 조치
(2008.1.14) 오후 06:34 ~ 08:07 : 시스템 복구
(2008.1.14) 오전 00:25(?) : 시스템 다운 - 흠 심각하군!
(2008.1.13) 오후 11:31 : 시스템 리부팅됨
(2008.1.13) 시스템 복구 : 오전(?)~오후 1:00
 Category
전체 (148)
프로그래밍 (42)
IT 세상속으로 (42)
세상 엿보기 (26)
지하창고 (18)
책의 향기 (12)
생각의 힘(바둑) (4)
OCR-내가 다 읽어줄께 (1)
두발의 짐승 (2)
지능형 로봇 (1)
 Calendar
«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
 Recent Entries
투명 Display 그리고 Augm... (2)
64bits(x64) Windows OS...
NFS & Eclipse & CDT & In...
행복에 대해 생각하며
Virtual Audio Cable (가...
 Recent Comments
^^ 안녕! 축하축하. 난 아...
피투성 - 03/16
오랜만에들림니다 아이폰...
쭌 - 03/15
Thanks for your kind tra...
hyungju - 2009
정보 감사합니다 덕분에...
허수 - 2009
관리자만 볼 수 있는 댓글...
- 2009
 Recent Trackbacks
내가 생각하는 한의학의...
Life Is Always Emergency
FreeBSD 6.2, 64bit, 메모...
엘레노아의 작업로그
알약 백신 제대로 사용하...
촌철살인
유용한 블로그 툴 몇개..
ENTClic@blog...just anot...
국내의 검색엔진에 등록하...
케이알선의 이야기
 Archive
2010/01
2009/12
2009/07
2008/09
2008/03
 Link Site
00_피투성의 지식창고_00
 Visitor Statistics
Total : 70563
Today : 57
Yesterday : 46
텍스트큐브 배너
Eolin
rss