본문 바로가기
개발/Visual C++

Visual Studio 2010에서 기존 코드 분석하기

by belitino 2013. 9. 23.

출처: http://msdn.microsoft.com/ko-kr/library/vstudio/dd409365(v=vs.100).aspx

        http://msdn.microsoft.com/ko-kr/library/vstudio/ff636699(v=vs.100).aspx

 

프로젝트를 하다 보면 남이 짜 놓은 코드를 분석해야 하는 경우도 생깁니다. 이 경우 저는 Scitools의 Understand를 쓰고는 했는데 Visual Studio랑 별개의 프로그램으로 동작하는 것이라서 사용하기가 조금 불편하더군요.

 

그래서, Visual studio의 IDE에서 통합해서 수행할 수 있는 방법을 찾아봤더니 Visual Studio에도 코드를 분석하는 기능이 있는데 이를 MS에서는 기존 코드 시각화라고 부르네요. 코드 분석이란 명칭은 정적 코드 분석이나 동적 코드 분석과 같이 코드의 문법이나 성능을 분석하는 기능에 사용합니다.

 

기존 코드 시각화에 대한 MSDN을 찾아보니 아키텍처->종속성 그래프 생성 메뉴에서 코드에 대한 종속성 그래프를 그릴 수 있다고 하는데, 아무리 해도 "현재 솔루션에 리버스 엔지니어링할 어셈블리가 없습니다"라는 오류 메시지만 나오고 종속성 그래프가 생성이 되지 않는 문제가 발생했습니다.

 

오류 메시지로 구글링을 해도 아무런 결과도 안 나오고 해서 좌절하려는 찰라에 MSDN에서 "사용 가능한 기능 팩을 다운로드하고 설치하여 이 릴리스의 기능을 확장할 수 있습니다. 자세한 내용은 Visual Studio 기능 팩을 참조하십시오. "라는 문구를 발견했습니다.

 

링크를 따라들어가보니 "Microsoft Visual Studio 2010 시각화 및 모델링 기능 팩"과 "Microsoft Visual Studio 2010 기능 팩 2"가 있더군요. 결국 이 기능 팩중 하나를 선택해서 설치해야 기존 코드 시각화가 동작하는 것이었습니다.

 

저는 "Microsoft Visual Studio 2010 기능 팩 2"를 설치했고 설치하고 나니 종속성 그래프가 잘 생성됩니다. 앞으로 남의 코드를 분석해볼 때 많은 도움이 될 듯 합니다.

 

이런 시각화 및 모델링 기능 팩은 다음 Edition의 Visual Studio를 사용하셔야 합니다.

  • Visual Studio 2010 Ultimate, Visual Studio 2010 Premium with an MSDN Subscription
  • Visual Studio Test Professional 2010 with an MSDN subscription
  • Microsoft Bizspark 
  • MSDN Academic Alliance

이 밖에도 기존 코드 시각화를 위해서 클래스 다이어그램을 그려주는 기능도 있는데 이는 프로젝트를 선택하고 오른쪽 버튼을 눌러서 나오는 메뉴에서 클래스 다이어그램 보기 메뉴를 선택하면 동작합니다. 이 기능은 기능팩 설치 없이도 동작하네요.

 

그런데, 기능팩이 설치되지 않은 경우에는 메뉴를 Disable 시켜놓거나 기능팩을 설치하라고 안내 메시지를 출력해야 정상일텐데 그렇지 않아서 무척 애를 먹었습니다. 분명히 예전에 사용했던 기능인데 왜 안되는지 Visual studio를 잘못 설치해서 그런건지 여러 고민을 하다가 문제가 해결되니 참 기쁘네요.