프로그래밍/VC++

VC++ 최고 수준으로 경고 나타내기

panpro 2007. 3. 16. 15:57
1. 경고 수준 : Level 4, 경고를 오류로 처리



--------------------------------------------------
일단 궁금한게 Debug mode에서 Rebuild All with BoundChecker메뉴로 컴파일하셨는데도
님의 소스코드에서 아무것도 안잡혀나왔는지 궁금하고요...
그 전에 Project Settings에서 Warning Level을 4로 맞추시고, Warnings As Error까지 켜놓고
0 errors, 0 warnings로 완벽 컴파일될때까지 작업하셨는지 궁금합니다.

BoundChecker는 대개 위와 같이 Level 4 Compiling을 완성한 다음에 추가적으로 생겨나는
버그들을 잡아줄 때 사용하고 있는데요, MFC 내부에서조차 디버깅에 방해가 될 정도로
꽤 많은 오류가 걸려나와서 일일이 surpress시키는것도 짜증날 정도였는데요...

물론 logical bug를 포함해서 모든 버그들을 다 잡아주는 건 절대 아닙니다만, 님의 말씀처럼
VC++ 디버거 수준만큼밖에 못잡아내진 않았거든요. 혹시나 Instrumentation(Rebuild All with
BoundChecker메뉴로 컴파일해서, BoundChecker의 고유 체크모듈과 병합해서 Build하기)
을 안시키셨는지, 그 외에도 BoundChecker의 셋팅을 확인해보셔서 Error Detection Scheme을
너무 낮게 잡아놓으신 것이 아닌지 - 이걸 낮게 잡아놓으시면 당연히 BoundChecker 바보 되니까요 -
또한 확인해 보시면 어떨까 하네요. 아참, 이 셋팅도 Instrumentation을 시킬때의 경우로 알고 있습니다.
(마무리 단계시라면 Maximum Scheme도 한번쯤 돌려보시길... ^^; 그리고 Error Detection Scheme
말고도 Event Reporting 등 좋은 기능이 많거든요. 쭉 둘러보시고 상황에 맞게 customizing하시길...)

노파심에서 다시 한 번 말씀드리지만, BoundChecker 이전에 Level 4 Compiling 부터 완성을 시키시면
상당수의 에러가 BoundChecker를 쓰기도 전에 해결되어 나오므로 만약 안하셨다면 꼭 이것부터
맞춰놓고 BoundChecker 돌리시기 바랍니다.

추가적으로 John Robbins의 디버깅 책도 도움이 되었으면 하네요. ^^;