디버깅하는 방법에 대한 책 좀 추천해주세요.

freezm7의 이미지

요즘 개발을 하다 보니까 이런 생각이 드네요.

프로그램을 만드는 동안, 코딩에 드는 시간 보다 디버깅에 드는 시간이 2~3배 정도 많은데
왜 디버깅에 대해서는 기본적인 것 외에 공부하지 않았을까 하는...

Debugging Windows Application 이라는 책 제목을 본적이 있는것 같은데,
그때도 "굳이 디버깅을 위해 책까지 봐야 하나" 하는 생각을 하고 지나쳤던것 같습니다.

근데 실제 개발을 계속해오다 보니,
잘하는 사람과 못하는 사람의 구분이 코딩할때도 표시가 나지만,
디버깅할 때 정말 차이가 나는것 같네요.

전 Log4J 를 접하면서 (Qt 를 쓰다 보니, Log4Qt 바인딩을 쓰긴 하지만)
로그를 추적하는게 얼마나 유용한지 새삼스레 깨닫고 있는 중입니다.
그 전엔 데드락이 생겼을 때 어떻게 찾을지 깜깜했죠.

오늘은 메모리 에러에 관련되서 찾다 보니,
valgrind, efence, purify, insure++ 같은 툴들이 보이더군요.
특히 purify 같은 툴은 돈만 되면 구입하고 싶게 만들더군요.

아무튼 디버깅은 정말 노하우가 많이 필요한 것 같은데,
그런 것들에 대해서 잘 정리되어 있는 책이 있을까요?

추천좀 부탁드립니다.

feanor의 이미지

"리눅스 문제 분석과 해결" 추천합니다.
http://book.daum.net/detail/book.do?bookid=KOR9788989975991

리눅스에 한정된 내용도 있지만 전체적으로 디버깅 일반에 대한 책이라고 보시면 됩니다. 링크에 목차가 있으니 확인해 보세요.