출처: http://nsjokt.springnote.com/pages/2547456.xhtml
http://blog.naver.com/jacking75/140048081142
원래는 상기 출처에 있던 글인데 요즘 다시 참고하려고 하니 Springnote는 서비스 종료되어 페이지 접근이 안되고 네이버 블로그는 포스트를 비공개로 막아두셔서 볼 수가 없네요. 그래서 고민하던 차에 구글에 저장된 페이지 기능을 사용해서 간신히 원문을 볼 수가 있었습니다. 혹시나 저장된 페이지마저 없어질까봐 여기에 복사본을 남깁니다.
원문 : http://blog.naver.com/jacking75/140048081142
회사에서 다른 사람이 만든 코드를 고쳐야 하는 일이 발생해서 징징거리던 중, Visual Studio Team System을 쓰시는 분이 Team System에서는 코드 분석(Code Analysis) 기능이 있다는 것을 알려주셔서 알아봤습니다.
▷ MSDN, Visual Studio Team System :: C/C++ 코드 오류 검색 및 수정
▷ MSDN, Visual Studio Team System :: Code Analysis for C/C++ Warnings
간단하게 요약하자면, 코드를 분석하여 자칫 잘못 사용할 가능성이 보이는 부분을 알려주는 기능이랄까요…
대충 기억나는 것을 적어보자면…
- 변수의 유효영역 검사 (variable scope)
- buffer underrun
- printf 함수와 같은 가변형 인자를 가지는 함수의 인자 개수 체크
- 배열 참조 검사
이러한 사항들을 검사하여 문제가 발생할 수 있는 부분을 warning 처리하여 알려줍니다.
하지만, 이 기능은 Team System만 사용할 수 있습니다.
집이나 회사에서 Visual Studio Professional Edition만 쓰는 저로서는 조금 아픈 조건이랄까요… orz
WTL처럼 뭔가 이 기능을 사용할 꼼수가 없을까 해서 알아본 결과…
▷ Michael Suodenjoki's Blog :: Analyze This
▷ Michael Suodenjoki's Blog :: Hey, cl.exe /analyze disappeared!
이런 포스팅을 발견했습니다. ;ㅁ;
그래서 저 포스팅을 참조하여 제 나름대로 삽질을 해 본 결과…
◎ Visual C++ 2005
- Microsoft :: Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components 를 받아서 설치하여 사용하면 됩니다.
- Visual Studio를 실행하여 Tools - Option - VC++ Directories - Executable Files에 가셔서 (SDK 설치 경로, 보통 Microsoft SDKs)\Windows\v6.0\bin을 추가해주시면 됩니다.
◎ Visual C++ 2008
- Microsoft :: Windows SDK for Windows Server 2008 and .NET Framework 3.5 를 받아서 설치하여 사용하면 됩니다. 하지만, SDK를 설치하지 않고도 사용하는 방법이 있는데, 이미지 안에 있는 Setup\vc_stdx86.msi(64비트 컴파일러가 필요할 경우 Setup\vc_stdamd64.msi) 파일을 실행하여 컴파일러만 설치합니다. Visual Studio의 컴파일러를 직접 덮어쓰는 형식이기 때문에 따로 더 만져줄 부분이 없습니다.
이걸로 끝입니다! 실제 적용은 이렇게 해주시면 되겠습니다.
다른 단점 하나를 꼽자면… 바로 컴파일 시간이 평소보다 조금 더 오래 걸린다는 점입니다.
하지만, 1주일에 1번 정도 이 기능을 사용하여 빌드(Weekly Build)하는 정도라면 별문제가 없을 것 같습니다. :)
'개발 > Visual C++' 카테고리의 다른 글
중단점이 현재 적중되지 않습니다. 이 문서의 기호가 로드되지 않았습니다. 문제 해결 방법 (0) | 2013.06.03 |
---|---|
_T("") 매크로 정리 (0) | 2013.03.19 |
원격 디버깅시 break point가 disable되는 문제점 해결 방법 (0) | 2012.11.01 |
Visual Studio 원격 디버깅 (0) | 2012.05.02 |
Visual Studio Release 모드 디버깅 (0) | 2012.05.02 |