본문 바로가기
OS-OE Knowledge/Windows KB

Debug - Windbg/디버그를 위한 Symbol 지정하기 (Revised)

by 스쳐가는인연 2023. 3. 29.

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

 

심볼 서버 정보

http://www.windbg.org/

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

반응형