트러블슈팅/Windbg, Debugging

해결해야 할 과제

TheShield 2021. 3. 21. 17:22
반응형

Windbg는 분명 좋은 툴에는 틀림이 없으나 문제가 있다.

바로, 우리에게는 '최적화'라는 헬모드가 있다.

 

최적화가 된 코드의 흐름은 함수 프레임이 생략되기도 하고(omit 옵션),

파라메터 등이 생략되기 때문에, 레지스터 어딘가에, 스택 어딘가에서 찾아내거나 

역추적하면서 디서셈블 하면서 찾기가 너무 힘들기 때문이다. 

 

이에 대한 해결할 필요가 있다.

대부분의 상용 프로그램이 최적화가 되어 있기 때문에 

디버깅이 항상 헬모드가 될 수 밖에 없다. 

 

* 다음의 내용들을 읽고 해결을 해보자.

 

codemachine.com/articles/x64_deep_dive.html

 

CodeMachine - Article - X64 Deep Dive

X64 Deep Dive In depth tutorial on the key aspects of code execution and debugging on X64 like compiler optimizations, exception handling, parameter passing, stack layout and parameter retrieval. © CodeMachine Inc. | codemachine.com | @codemachineinc

codemachine.com

kuaaan.tistory.com/115

 

Debugging Tips (4) - Call Stack 추적하기 (StackWalk)

 Exception이 발생한 주소를 확인하는데 성공했다고 해도, 그 주소가 우리가 작성한 코드가 아니라면 별 쓸모가 없습니다. 예를 들어서 기껏 주소를 추적했더니 wcsncpy API 내의 주소였다고 하면...

kuaaan.tistory.com

 

 

반응형