실전 윈도우 디버깅 (Mario Hewardt, Daniel Pravat, 2008) 독후감
아꿈사에서 <프로그램은 왜 실패하는가?>라는 디버깅 책을 공부했었다. 이 책이 끝나고 난 뒤, 너무 이론에 치우쳐 있어서 아쉬우니 실전에서 쓸 수 있는 경험들이 담긴 디버깅 서적을 공부하자고 했다. 고르고 고르던 중에 걸린 이 책. 윈도우 시스템에 관한 이야기도 많아서 참 어려웠던 책이었다.
각 장마다 모두 직접 해볼 수 있는 예제들이 실려 있다. 이 예제를 가지고 책에서 설명하는 대로 따라가며 실습하는데, 감염(infection)된 상태를 구별하고 결함(defect)을 찾기까지 생각하고 의심하는 방식을 잘 다뤘다. 버그를 수정하는 자체로는 배울게 그닥 없지만 그걸 해결하는 과정에서는 참 배울 게 많은 법이다.
이 책에서 windbg를 사용해 설명하지만 이게 큰 상관이 있겠나 싶다. 결함(defect)을 추적하는 과정에서 감염(infection)된 상태를 구별하는 방법과 생각하는 방법을 배우는 게 디버깅에 있어서 가장 큰 지식이기 때문이다.
그냥 windbg로 “뚝딱뚝딱, 짠~ 이렇게 디버깅하는 것이란다.”로 끝나지 않고 디버깅에 필요한 기초 지식도 충실하게 설명해 준 것도 마음에 들었다. 보안 같이 설명이 좀 아쉽고 교통정리를 안 해줘서 더 헷갈린 챕터도 있었지만, 전반적으로 충실하게 설명한 것 같다. 그 중 설명도 좋고 여러 사례가 있었던 스택과 힙 메모리 손상이 제일 재미있었다.
난 13. 포스트모템 디버깅을 발표했다.
Update
표지 사진 교체