데스크탑 어플리케이션 개발시 잡기 힘든 버그 중 하나가 가끔씩 일어나는 크래쉬.. 언제 죽는다, 재현을 해보기 힘든 비정상 종료상황이 발생하는 경우는 죽는 상황을 어떻게 하면 재현할 수 있다는 정보를 수집하기가 상당히 어려운 부분이 있다..

다행히 윈2000 이상의 윈도우 시스템에서는 Dr Watson 이라는 꽤 괜찮은 기본 디버거가 윈도우 시스템에 기본 탑재가 되어 있다.. 메트 피에트릭이 소개한 SEH 처리용 클래스를 활용하는 방법 보다는 훨씬 더 많은 디버깅 관련 자료를 제공해주는 덤프를 작성해 줄 수 있기 때문에 Dr Watson을 활용하는 방법이 좋다고 생각한다.. (SEH 처리용 클래스에 관련된 보다 더 많은 정보 참고)

사용자 삽입 이미지

실행시킨 모습은 위와 같은데, 로그파일과 크래쉬 덤프를 위와 같이 세팅한 대로 남겨준다.. 이렇게 남은 정보는 위에서 이야기한 기사에 소개된 SEH 처리용 클래스가 남기는 정보보다 훨씬 더 유용한 정보들을 많이 남겨준다.. 하지만, 위 그림과 같이 저장되는 경로만 내가 원하는 곳으로 저장해둔다고 동작하는 것은 아니다.. 잊지말고 반드시 해줘야 하는 작업, 하지만 막상 하려면 명령어가 생각나지 않는 작업을 해줘야 한다..

명령행에서 "drwtsn32 -i" 라고 쳐줘야 Dr Watson이 기본 디버거로 설정이 되면서 정보를 남겨주게 된다..

그럼 이 정보를 제대로 활용하는 방법은? 인터넷에서 검색을 통해 더 좋은 자료를 찾을 수도 있겠지만, 지금까지 내가 알기로는 Debugging Applications라는 책이 가장 좋은 활용법을 알려준다..

언제 죽는지 모르는 버그에 시달리고 있다면, 개발자 자신의 PC의 세팅을 이렇게 남겨두면 어떨까?

더 나아가 우리가 배포하는 사용자 PC의 환경도 이렇게 바꿔두면 어떨까? 사실 사용자의 PC 환경을 우리가 만든 어플리케이션이 맘대로 조작한다는건 상당히 기분 나쁜 일일 수도 있다.. 더구나 내가 만든 프로그램의 사용자 역시 프로그래머다.. 그런데 그 사람이 사용하는 기본 디버거가 따로 있는데, 이게 Dr Watson으로 어느날 갑자기 바뀌었다.. 이건 좀 아니긴 하다.. 하지만, 많은 경우에 기본 디버거를 바꿔버리고, 우리가 원하는 위치에 크래쉬 덤프를 남기고 그것을 우리가 수집할 수 있다면 여러 사용자 환경에서 발생하는 오류에 대한 대처에 더욱 능동적일 수 있지 않을까?

최소한 사용자 동의를 얻어 진행할 수 있는 클로즈 베타, 혹은 베타 서비스 기간에는 이를 적용하여 크래쉬에 대한 정보를 적극적으로 수집하는 것도 좋은 방법일 것이다..


추가내용 : jrogue님이 알려주신 주옥같은 정보..

1. Dr Watson은 윈도우 설치시 사용할 수 있는 기본 디버거.. 별도로 세팅하지 않아도 크래쉬 정보를 수집할 수 있다.. 난, 개발툴을 설치했기 때문에 Dr Watson이 기본 디버거가 아니었던 것이다..

2. Dr Watson에 관련된 좋은 정보

3. Dr Watson의 로그파일을 점검하는 방법에 관한 정보

음.. 이쯤되면, 무식한 덕에 제목을 완전 잘 못 달았음을 알 수 있다.. Dr Watson은 원래 윈도우즈의 기본 디버거였던 것이다.. 이름은 아마도 셜록홈즈 소설에 나오는 바로 그 왓슨 박사에서 따온 듯 하다..

Posted by 미친병아리

댓글을 달아 주세요

  1. Favicon of http://fribirdz.net BlogIcon 프리버즈 2007.11.14 20:28  댓글주소  수정/삭제  댓글쓰기

    3개월짜리 와이브로 프로모션은 많이 있는거 같아요. http://www.dotname.co.kr/event/wibro/event_wibro.htm 이런 것도 있네요~

    • Favicon of https://madchick.tistory.com BlogIcon 미친병아리 2007.11.18 13:29 신고  댓글주소  수정/삭제

      그런 이벤트는 많은데, 제가 사용하고 있는 것들 중에는 없네요.. 안타까워라.. 걍 와이브로를 위해 사용하지도 않는 서비스에 가입할 수도 없고.. 쩝..

    • Favicon of https://moonend.tistory.com BlogIcon mooni 2007.11.29 20:13 신고  댓글주소  수정/삭제

      와이브로 무료 사용이 끝났던 친구가 있는데, 그 기간이 끝나자 '전화국'으로 가서 해지를 하라고 말했습니다.
      사람 귀찮게 할 거라고 짐작은 했지만...

    • Favicon of http://madchick.tistory.com BlogIcon 미친병아리 2007.12.02 16:27  댓글주소  수정/삭제

      이벤트 끝나자 마자 해지라.. 완전 무료사용이군요..
      KTF는 이런 이벤트를 해야할 만큼 T-Login에 밀리고 있는건지 궁금합니다.. 아니면, 아직은 무선 인터넷 시장이 고가라 시장형성이 안된다 판단해 마케팅 차원에서 홍보를 위해 하는건지.. 그러기엔 돈이 좀 많이 드는 것 같은데.. 하긴, 그래도 블로그에 글 올라오게 만드는 것만 해도 엄청난 홍보효과이긴 하죠..

  2. Favicon of http://www.fairycat.net BlogIcon 산티아고 2007.12.10 20:57  댓글주소  수정/삭제  댓글쓰기

    어쩐지.. 본문과 관련 없는 얘기가 위에 진행되고 있는듯 하여 저도 조심스레 참견해봅니다. ^^ 와이브로 저도 3개월짜리 신청해놨는데, 처음에 몇 번 쓰다가 더이상 안씁니다. ㅠㅠ 이동하면서 인터넷을 하는건 한두번 호기심에서일 뿐. 회사나 집에선 어차피 인터넷되고.. 결론은 3개월동안 "아, 나한테 와이브로란 필요없는 놈이구나"라고 느끼게 되었달까요? 안쓸땐 쓰고싶더니만.. 물론 이런 이벤트를 통해서 KT가 홍보도 많이 되겠지만, 의외로 써보면 속도도 느리고 해서, 그다지 재미는 못 볼꺼 같다는게 제 사견입니다. ^^ 저만 해도 당장 해지.

    • Favicon of http://madchick.tistory.com BlogIcon 미친병아리 2007.12.14 19:56  댓글주소  수정/삭제

      저는 인터넷을 맘놓고 사용할 수 없는 곳에 외근을 많이 나가다 보니 유용하더군요.. 인터넷을 사용할 수 있더라도 메신저나 원격데스크탑연결이 안되는 곳이 의외로 많더라구요.. 흔히들 말하는 보안 문제로.. 원격 데스크탑 연결이 접속을 허용하는 것이 아니라 밖의 컴퓨터에 접속하는 건데도 다 막더군요.. 메신저도 별로 이해가 안가고.. 아직까진 비용이 좀 부담스럽긴 하지만, 그래도 전 유용하더라구요..

    • Santiago 2007.12.15 01:18 신고  댓글주소  수정/삭제

      말씀듣고 보니 그렇네요. 몇몇 사이트들은 너무나 철저하게 보안을 지켜서 탈이죠. ^^ 검색대 통과하는 곳은 정말 다신 가기 싫다는..ㅠㅠ

    • Favicon of http://madchick.tistory.com BlogIcon 미친병아리 2007.12.15 18:45  댓글주소  수정/삭제

      검색대 통과해야 하는 곳에서는 티로긴 같은게 있어도 사용을 못하게 되는 경우도 많습니다.. 쩝~