설치

소스 인사이트(Source Insight)는 프로젝트 분석 툴이다. 분석에 특화된 툴이어서 컴파일 기능은 없지만 극단적으로 높은 가독성을 제공하여 소스를 편하게 읽을 수 있다. 변수의 정의를 신속히 확인하고 함수의 흐름을 따라 가기 편해 소스 분석에는 최강의 도구이다. C/C++, 자바, C#, Objective-C 등의 언어를 지원하며 4.0에서 파이썬, PHP, XML이 추가되었다.

물론 컴파일러는 분석뿐만 아니라 수정 및 디버깅까지 해 볼 수 있어 가장 효율적이다. 비주얼 C++로 만든 프로젝트는 비주얼 C++로 보는 것이 이상적이고 자바 프로젝트는 이클립스로 분석하는 것이 상식적이다. 언어에 특화된 개발툴의 문법 해석이 가장 정확하고 프로젝트 특성에 꼭 맞는 기능을 제공한다.

그러나 컴파일러를 쓸 수 없는 상황이 예상보다 흔하다. 대표적인 예가 소스를 작성하는 환경과 실행하는 환경이 분리되어 있는 크로스 컴파일 환경이다. 임베디드 프로젝트는 윈도우에서 작성 및 컴파일하되 장비로 다운로드해야 실행할 수 있다. 여러 종류의 장비와 케이블, 관리툴이 필요해 환경을 제대로 갖추기 쉽지 않고 디버깅도 느리고 불편하다.

이럴 때 가볍고 똑똑한 분석툴이 필요하다. 남이 만든 소스를 분석하는 작업은 엄청난 노력과 끈기를 요하며 시간도 많이 든다. 문서와 주석이 아무리 잘 구비되어 있고 문법을 통달하고 있어도 남의 생각을 읽고 파악하는 것은 원래 골치 아픈 일이다. 이런 힘든 작업을 할 때는 툴이라도 좋은 것을 써야 그나마 효율성을 높일 수 있다.

소스 인사이트는 이런 목적으로 사용하는 개발툴이다. 전임자가 만든 프로젝트를 이어서 개발하거나 라이브러리의 내부를 보고 싶을 때, 또는 5년전에 내가 작성한 프로젝트를 다시 살펴 보고 싶을 때 이만한 프로그램이 없다. 나는 안드로이드 내부 라이브러리 분석과 AVR, ARM 프로젝트 분석에 유용하게 사용하여 큰 도움을 받은 적이 있다. 그럼 설치부터 해 보자. 개발사 홈페이지는 https://www.sourceinsight.com이다.

3.5버전이 대중적으로 많이 사용되며 2018 9 4.0이 발표되었다. 상단 메뉴의 Support를 클릭하고 목록에서 Downloads를 선택하면 두 버전의 최신판을 제공한다. 버전에 따라 크게 다른 부분은 없어 최신 버전을 사용하면 된다. Download 버튼을 누르면 즉시 내 컴퓨터로 휘리릭 날라온다. 이 강좌는 4.0을 기준으로 하되 이후에 새 버전이 발표되었다면 가급적 최신 버전을 쓰도록 하자.

다른 개발툴과는 달리 무료가 아닌 유료 프로그램이다. 국내에 리셀러가 많아 구입하기는 쉬우며 대략 20만원선이다. 오픈소스에 길들여져 있어 개발툴을 유료로 구입하는게 망설여지겠지만 그만큼 값어치를 하므로 업무에 꼭 필요하다면 구입해서 사용할만하다. 강좌를 쓰고 있는 너는 샀냐고? 요즘 책이 잘 안팔려 아직 못 샀을 뿐 조만간 구입할 계획이다.

데스크탑 운영체제에서는 장비별로 라이센스가 부과되며 하나의 라이센스로 2대의 장비에 동시에 설치하여 사용할 수 있다. 서버 운영체제에서는 사용자별로 라이센스를 하나씩 구입해야 한다. 설치 파일의 용량은 고작 20M 정도밖에 되지 않아 요즘 수 기가씩 깔아재끼는 전용 개발툴에 비해 무척 가벼운 편이다.

 

다행히 정품을 구입하지 않더라도 30일 평가판을 사용할 수 있다. 두번째 옵션을 선택하여 30일 평가판으로 설치하자. 나머지 옵션은 디폴트로 선택하되 평가판은 개인 이메일 주소를 제공해야 한다. 공짜로 쓰게는 해 주되 누가 쓰는지는 최소한 파악하겠다는 의도이다.

30일 평가 기간은 기능을 살펴 보기에 충분하며 유료 버전에 비해 제약도 거의 없다. 평가기간을 한달로 설정해 놓은 것은 정 돈 없으면 공짜로 써도 좋은데 질질 끌지 말고 30일만에 분석을 확실히 끝내라는 깊은 뜻이다. 평가 기간이 끝나면 다음 대화상자가 나타나 "이제 하나 팔아 주는게 어때?"하며 구입을 유도한다.

이 대화상자가 나타나면 더 이상 실행할 방법이 없다. 라이센스를 구입하든지 아니면 종료해야 한다. 설치 해제 후 다시 설치해도 어딘가에 기록을 짱박아 놨는지 평가 기간이 다시 시작되지 않는다. 시스템을 포맷한 후 재설치하는 것은 가능할지 모르겠지만 번거로운 일이다.

계속 사용하고 싶다면 응당 구입하는 것이 도리겠지만 약간만 더 쓰고 싶다면 정 방법이 없는 것은 아니다. 가상 머신을 하나 만들고 그 안에 설치하면 30일간 더 사용할 수 있다. 얌체짓을 할 것인지 돈주고 살 것인지 아니면 다른 방법을 찾아볼 것인지는 알아서 선택하자. 나는 책 좀 팔리면 다음 기회에....