C언어를 배우고 실무에 적용하던 무렵 대기업 전자 회사에서 운영체제를 담당하는 한 개발자를 만난 적 있었다. 기반 기술이 있고 경험도 많다고 자신 만만해하던 때였다. 어깨너머로 그의 작업 광경을 구경하는데 내 눈앞에 신기한 모습이 펼쳐졌다. 어찌 보면 가장 원시적이라 할 수 있는 vi 에디터로 프로그램에서 발생한 문제를 찾아 가는데, 이리저리 코드의 호출 그래프를 따라 움직이는 것이 환상적이었다. 뭔가 단축키를 누르는 것 같은데 그 원리는 도통 알 수 없었다. 그 사람을 붙들고 물어보니 CTags란 도구를 활용해서 프로그램을 분석하여 태그 정보를 만들어 놓으면 vi(엄밀히 말하면 vim) 에디터에서 해당 정보를 기반으로 함수나 변수가 정의된 곳으로 이동시켜주는 원리였다. 물론 비주얼 스튜디오나 이클립스를..
오픈소스 프로젝트를 만나거나, 업무로 기존 프로젝트를 분석할때 도구의 좋은 기능을 활용하면 분석의 효율성은 엄청난 차이를 보이기 마련입니다. 유닉스/리눅스 환경에서 vi 에디터 만으로 개발하던 개발자들 조차도 ctags와 vim을 활용하면 왠만한 IDE 부럽지 않은 코드 분석 환경을 사용할 수 있었으므로 최근의 IDE에서 관련 기능을 찾기란 그리 어렵지 않은 일입니다. 코드를 읽다가 특정 변수나 클래스, 함수, 메소드등이 어떻게 정의되었는지 확인하려면 Ctrl+F 단축키로 검색을 하는 것이 아니라 코드의 해당 위치에 커서를 둔 상태에서 컨텍스트 메뉴(마우스 우측 마우스)>"정의로 이동"을 선택하면 됩니다. 물론 자주 사용하는 단축키이므로 F12는 외워 두는 것이 좋겠죠! 문제는 어떻게 정의 되었는지를 살..