2008년 8월 6일 수요일

Source Insight에서 Symbian Build Log Parsing으로 Error Link 만들기

Source Insight에서 Symbian Build Log Parsing으로 Error Link 만들기

Source Insight에서 Symbian Build Log Parsing으로 Error Link 만들기

Parse Source Links 기능이란?

  • Source Insight에서 build 등의 결과물로 생성된 log를 분석하여 error나 warning 같은 항목에 대해 link를 만들어주는 기능입니다.
  • 만들어진 link를 사용하여 error 또는 warning이 발생한 source 위치로 즉시 이동이 가능합니다.

Build script for Symbian

  • 먼저, Source Insight에서 간편하게 build할 수 있도록 도와주는 batch script가 필요합니다.
  • 첨부된 mybuild.bat.rar 파일을 download한 후 압축을 풀고 PATH 환경 변수에 지정되어 있는 적절한 위치에 복사해둡니다.
    혹은 파일이 복사된 위치를 PATH 환경 변수에 추가해줍니다.
  • 이 batch script는 다음과 같은 방식으로 동작합니다.
    1. 현재 편집 중인 소스와 동일한 경로에서 bld.inf 파일을 찾아 그 파일이 존재하면 build를 수행합니다.
    2. 없다면, 현재 편집 중인 소스와 동일한 경로에서 group\bld.inf 파일을 찾아 그 파일이 존재하면 build를 수행합니다.
    3. 역시 없다면, 현재 편집 중인 소스와 동일한 경로에서 bld\bld.inf 파일을 찾아 그 파일이 존재하면 build를 수행합니다.
    4. 그래도 없다면, 한 단계 상위 폴더로 이동한 후 1 번부터 반복합니다.
      ※ 무한 반복을 막기 위해 최대 3 단계까지만 상위 폴더를 살피도록 되어 있습니다.

Parsing Build Logs

이제 mybuild.bat를 사용해 Custom Command에 설정을 추가하면 됩니다.
  1. Options 메뉴 -> Custom Commands... 항목을 실행합니다.


  2. Command 콤보박스에서 Build Project 항목을 선택합니다.


  3. 그림에서 보이는 것과 같이 설정 내용을 입력합니다.
    1. mybuild.bat script를 사용하여 'build armv5' 옵션으로 build 수행하는 설정입니다.
    2. script 실행 경로를 현재 편집 중인 파일의 경로로 지정합니다.
    3. 편집 중이던 파일을 저장하고 build 실행하면서 출력 결과를 capture하는 설정입니다.
    4. capture한 출력 결과를 parsing 하도록 설정합니다.
    5. parsing pattern이 File, Line 순임을 지정합니다.
    6. parsing pattern을 설정합니다.
      • Error와 Warning 포함: ^"\(.+\)", line \([^:]+\): [EW].*
      • Error만 포함: ^"\(.+\)", line \([^:]+\): E.*
    7. 반드시 Close 버튼을 눌러 설정한 내용을 저장합니다.


  4. 앞서 설정했던 Build Project와 마찬가지로 Clean Build 항목도 설정합니다.


  5. 마지막으로 Compile File 항목도 설정합니다.


Toolbar 설정 및 Key 할당

  • Toolbar 설정 - Source Insight에서는 build와 관련된 toolbar를 별도로 제공하고 있습니다.
    1. View 메뉴 -> Toolbars -> Build 항목을 실행합니다.


    2. 그러면 toolbar 영역에 다음과 같은 toolbar가 추가됩니다.


  • Key 할당
    1. Options 메뉴 -> Key Assignments... 항목을 실행합니다.


    2. 그림과 같이 Build 항목들에 대해 적절한 key를 할당해줍니다.
      1. build라고 입력하면 아래 콤보박스에 build와 관련된 항목들만 추려서 보여줍니다.
      2. 새로운 key를 할당할 항목을 선택하고 Assign New Key... 버튼을 누른 후 할당할 키조합을 눌려줍니다.
      3. OK 버튼을 눌러 설정한 내용을 저장합니다.


실행 관련 Screenshot

  • build를 실행한 모습입니다.


  • build 중 error가 발생했을 때 해당 source 위치에 대한 link를 생성해준 모습입니다.


2008년 8월 5일 화요일

Source Insight에서 Custom Token Macro 활용하기

Source Insight에서 Custom Token Macro 활용하기

이 내용은 제 springnote에 정리한 내용을 옮겨온 것입니다.


Token Macro란?

  • Token Macro는 소스에 삽입되어 있는 특정 macro 문구를 Source Insight가 올바로 해석할 수 있도록 원문으로 풀어서 기술해주는 기능입니다.
  • Source Insight가 지원하는 token macro 파일은 다음과 같습니다.
Language File Name
C and C++ C.tom - default 파일이 Source Insight에 포함되어 있음
HTML Html.tom
Java Java.tom
Resource Files Rc.tom
X86 Assembly Language X86.tom
Perl Perl.tom
  • 내 문서/Source Insight 폴더 아래에 두면 모든 프로젝트에 공통 적용됩니다.
  • 각 프로젝트의 root 폴더에 tom 파일을 두면 그 프로젝트에 대해 공통 tom 파일보다 우선합니다.

Symbian 개발 소스를 위한 설정

  • Symbian 개발 소스에도 특별히 알려주지 않으면 소스의 parsing이 제대로 되지 않아 참조가 꼬이는 문제가 발생합니다.
  • 이 문제를 해결하기 위해 e32def.h 파일 등의 내용을 가져와 C.tom 파일에 적절히 추가해주면 됩니다.
  • Symbian SDK 3.2를 기준으로 미리 작성해둔 C.tom 파일을 첨부하였습니다.
    1. 첨부된 C.tom 파일을 내 문서/Source Insight 폴더에 복사해넣습니다. 원래 있던 원본 파일은 백업을 해두시는 것이 좋습니다.
    2. Project를 rebuild 합니다.
      Project 메뉴 -> Rebuild Project 항목 선택
      ※ Project를 rebuild 하지 않아도 상수 정의 등과 같은 단순한 macro의 경우 즉시 정상적으로 보이게 됩니다. 하지만 정확한 참조 DB 생성을 위해서는 rebuild 해주는 것이 좋습니다.
  • 스크린샷
    • C.tom 파일을 적용하기 전
      _LIT로 정의된 문자열 상수가 제대로 parsing되지 못하고 엉뚱한 ID로 해석됩니다.

    • C.tom 파일을 적용한 후
      _LIT로 정의된 문자열 상수에 대한 참조가 정상적으로 잘 표시됩니다.



      rss 또는 rls에 정의된 resource 참조도 정상적으로 잘 찾아줍니다.