- 경험이 풍부한 개발자 대상
- 고차원 전략
- 범용적인 디버깅 기법
- 범용 도구를 활용한 기법
- 디버거 활용법
- 프로그래밍 기법
- 컴파일 시간 기법
- 실행 시간 기법
- 멀티스레드 코드 디버깅하기
내가 선택한 Effective DEBUGGING 방법은?
자 그럼 이 책에서 소개하고 있는 66가지 중 직접 경험하고 공감갔었던 방법들을 선별해보았다.
- 아이템1. 모든 문제를 이슈 추적 시스템으로 관리하기
- 아이템9. 성공적인 디버깅을 위한 마음가짐
- 아이템10. 효율적으로 문제 상황 재현하기
- 아이템11. 코드 수정 후 결과 확인까지의 시간 최소화하기
- 아이템18. 원격 디버깅 환경 구축하기
- 아이템26. 버전 관리 시스템으로 버그 원인과 히스토리 추적하기
- 아이템32. 루틴 사이의 호출 흐름 추적하기
- 아이템35. 코어 덤프 다루기
- 아이템39. 동료 검토하기
- 아이템42. 단위 테스트 사용하기
- 아이템51. 정적 분석 도구 활용하기
- 아이템55. 오류가 발생한 즉시 프로그램 중단하기
경험상 선별된 위 12개의 방법들의 내용은 책을 읽어보시면 다들 공감하실 것이라 예상된다.
"아이템9. 성공적인 디버깅을 위한 마음가짐"이라는 방법이 효과적인 디버깅을 하기 위한 가장 1순위가 아닐까 싶다.
"아이템39. 동료 검토하기"에서는 "고무 오리 기법(Rubber duck technique)"이라는 것을 소개한다. 어떤 의미인지 풀어보면; 자신이 작성한 코드를 다른 사람에게 설명하는 방식으로 문제를 분석하고 찾는 기법으로써 의심되는 코드 또는 포인트를 동료에게 차근차근 설명하다보면은 자신이 실수하고 있던 부분을 스스로 발견하게 된다는 내용이다.
아이템39번 같은 경우는 정말 공감한다.
누군가에게 설명하려고 하면 자신의 코드를 조금 더 냉정하게 바라보게 된다.
그 때 자신의 실수를 확인할 수 있는 것이다. 놀랍다 놀라워!
책을 덮으며...
이 책의 저자는 35년 이상의 경험을 가지고 책을 썼다고 한다.
분명히 이 책에서 설명하고 있는 66가지 방법 이외에 수많은 방법들이 있을 것이다.
아마도 그 중에서 이 66가지 정도는 이해하고 실천 또는 활용하기를 바라는 핵심포인트만 나열했을것이란 생각이 든다. 물론 책의 66가지 방법이 다양한 IT분야에서 활용할 수 있는 방법은 아닐 수 도 있다. 하지만 실질적인 방법은 되지 않더라도 충분히 시야를 넓혀줄 수 있는 그런 내용임은 틀림이 없다.
개인적인 생각으로는
이 책은 경험많은 개발자분들이 읽으신 후 후배 개발자분들에게 조언해주는 방법도 매우 좋을 것 같다는 생각으로 글을 마친다.