1. What is a debug symbol?
Generated by linker. 링커에 의해 만들어졌다.
Have PDB extensions. PDB 확장자를 가지고 있다.
Mainly contains type details, function details. 주로 유형 세부 정보, 기능 세부 정보를 포함합니다.
Contains a subset of information which is there in the source code. 소스 코드에 있는 정보의 하위 집합을 포함합니다.
Contains information about stack frame size, optimization information in some cases. 경우에 따라 스택 프레임 크기, 최적화 정보에 대한 정보가 들어 있습니다.
Not needed for running the binary. binary 실행에는 필요하지 않습니다.
Needed for debugging to understand what is what. 무엇이 무엇인지 이해하기 위해 디버깅에 필요합니다. |
Why we Need Symbols?
Binary generated by linker does not have any variables or function name information. 링커에서 생성 된 바이너리에는 변수 나 함수 이름 정보가 없습니다.
Debugging is all about looking at run time memory of an OS or application 디버깅은 OS 또는 응용 프로그램의 모든 런타임 메모리를 조사하는 것입니다.
Memory does not have any symbol information (name of variable or function etc.) 메모리에는 기호 정보 (변수 또는 함수 이름 등)가 없습니다.
Debugger needs symbols to translate the address to names. 디버거에는 주소를 이름으로 변환하는 기호가 필요합니다. |
I am debugging with Visual Studio for ages and never care about symbols why Now? 나는 Visual Studio로 디버깅을하고 있으며 왜 심볼을 신경 쓰지 않았는가?
|
Is pdb has something to do with debug builds? pdb가 디버그 빌드와 관련이 있습니까?
|
PDB
|
Microsoft symbols
|
Demo
|
File - Symbol File Path 를 클릭하면,
Default 로 설정된 값이 없습니다.
Notepad 를 실행한 뒤 Attach Process 를 진행
Notepad - OK
아래와 같이 확인
참고로 windbg 에서 사용하는 명령어는 쭉 살펴보는게 좋습니다.
아래의 블로그에서 보기 좋게 잘 정리되어 있네요. 참고하시기 바랍니다.
https://darpangs.tistory.com/entry/WinDbg-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-1
https://thepassion.tistory.com/114
0~7번 Thread 정보가 호출됩니다.
~0s - 0번 Thread를 현재 Thread 로 설정합니다.
k 는 Stack 보기
영상에서는 Symbol 이 지정되어 있지 않으면 아래와 같이 나타난다고 합니다.
Symbol 을 지정해 보겠습니다.
상단의 File Symbol file Path
아래의 값을 입력
srv*c:\websymbols*http://msdl.microsoft.com/download/symbols -> Microsoft symbol
.reload 는 Symbol 을 다시 불러오는 명령어
Symbol 을 불러온 상태에서 Stack 확인
lmvm notepad
lmvm - execute information binary
PDB File location
.sympath
- Symbol location
x 는 특정 모듈의 Symbol 표시
X notepad!winmain
x notepad!*Main* -> Wildcard 문자 사용
ln 은 해당 주소에 근접한 심볼의 정보 표시
'MS 기타제품&Tool > Windbg' 카테고리의 다른 글
5. Introduction to debugger Commands (0) | 2019.04.07 |
---|---|
4. Troubleshooting Symbols mismatch (0) | 2019.04.07 |
2. Different Modes Of Operations of Windbg (0) | 2019.03.10 |
Windbg. Network Kernel Debugging (0) | 2019.03.10 |
1. THE Debugger (0) | 2019.03.10 |