Windows OS를 운영하다보면 알 수 없는 원인으로 장애가 발생하는 경우가 종종 있다.
원인을 규명하기 위해 강제로 메모리 덤프(현재 상태의 메모리 상주 정보를 강제로 저장)를 생성하게 된다.
그리 하면 .dmp 파일이 생성이 되는데, 이 파일을 열람하기 위해서는 디버깅 툴이 필요하다.
아래 경로에서 디버깅 툴을 다운로드 받고 설치하면 된다.
Download and Install Debugging Tools for Windows
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
Start > Programs > Windows Kits > Debugging Tools for Windows (X86) > WinDbg (X86)
설치된 Windbg를 실행한 모습
Symbol은 특정 프로그램(또는 파일)이 생성되는 단계에 생성되는 디버깅 해석에 대한 정보라고 이해하자.
File > Symbol File Path라는 항목이 보이는 데, 이 항목을 통해 심볼을 추가할 수 있다.
초기에는 아무것도 없다(당연히 ...)
srv*C:\CSS*http://msdl.microsoft.com/download/symbols
위와 같이 추가해주면 된다.
여러 심볼 서버를 추가하는 경우에는 ';' 기호로 구분해 준다.
아래 명령을 실행해 주어야 다운로드된 심볼이 적용되니 잊지말자.
lkd> .reload
아래 명령을 통해 C:\CSS에 지정된 Symbol 서버로 부터 symbol을 다운로드 할 수 있다.
lkd> .symfix C:\CSS
아래 명령을 통해 기존 등록 심볼 정보를 덮어 씌운다.
lkd> .sympath C:\CSS
아래 명령을 통해 기존 등록 심볼 정보를 추가한다.
lkd> .sympath+ C:\CSS
아래 명령을 통해 Symbol Checker를 통해 OS에 등록되어 있는 System32 폴더아래 존재하는 모든 심볼과 바이너리 파일들을 다운로드 한다.
lkd> .symchk /r C:\Windows\SYSTEM32 /s SRV*C:\CSS*http://msdl.microsoft.com/download/symbols
Note. Windows 11에서는 위 명령이 안되는 것 같기도 ... 멀 잘못했나 ... 아래 명령으로 대체 가능했다.
C:\> C:\"Program Files (x86)"\"Windows Kits"\10\Debuggers\x64\symchk.exe /r C:\Windows\SYSTEM32 /s SRV*C:\CSS*http://msdl.microsoft.com/download/symbols
참고자료.
Use the Microsoft Symbol Server to obtain debug symbol files
http://support.microsoft.com/kb/311503
Download Windows Symbol Packages
http://msdn.microsoft.com/en-us/windows/hardware/gg463028
Symbols
http://msdn.microsoft.com/en-us/library/windows/hardware/ff558823(v=vs.85).aspx
심볼 서버 정보
Symbol Server (Microsoft):
srv*c:\mss*http://msdl.microsoft.com/download/symbols
srv*c:\mss*https://msdl.microsoft.com/download/symbols
Symbol Server (Citrix):
srv*c:\css*http://ctxsym.citrix.com/symbols
Symbol Server (Mozilla):
SRV*c:\symcache\*http://symbols.mozilla.org/firefox
Thunderbird—http://symbols.mozilla.org/thunderbird
SeaMonkey—http://symbols.mozilla.org/seamonkey
XULRunner—http://symbols.mozilla.org/xulrunner
Firefox Mobile—http://symbols.mozilla.org/fennec
Try Server—http://build.mozilla.org/tryserver-symbols/
Windows Debugging -Basics
Basic Postmortem Of Windows Process
http://social.technet.microsoft.com/wiki/contents/articles/3859.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx