레이블이 Source Insight인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Source Insight인 게시물을 표시합니다. 모든 게시물 표시

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 참조도 정상적으로 잘 찾아줍니다.

2008년 8월 4일 월요일

Source Insight에서 Custom Language 추가하기

Source Insight에서 Custom Language 추가하기

이 내용은 제 springnote에 정리해둔 것을 가져온 것입니다.


Custom Language란?

  • Source Insight에서 기본적으로 제공하는 프로그래밍 언어 외에 사용자가 새로운 언어 타입을 재정의하거나 추가할 수 있는 기능을 말합니다.
  • 가장 일반적으로 많이 사용되는 C/C++, Java 등의 언어에 대한 Language Definition은 이미 Source Insight에 포함되어 있는데, 이것들 외에 사용자가 별도로 더 추가하고 싶은 언어가 있을 수 있습니다. 이럴 때 사용하는 것이 Custom Language 기능입니다.
  • 또는 Symbian C++ 등과 같이 별도의 추가적인 파일 확장자나 parsing 규칙을 일부 사용하는 경우에 기존 Language Definition을 상속/재정의 해서 사용할 수도 있습니다.

Custom Language File 구하기

  • 기본적으로 Source Insight 공식 홈페이지에서 제공하는 Custom Language File(이하 CLF)을 사용할 수 있습니다.
  • 인터넷 검색을 통해서 몇몇 CLF 파일을 구할 수 있기도 하지만, 의외로 드뭅니다. :(
  • 사용자가 직접 CLF를 만드는 것도 가능합니다. 이 작업은 좀 번거롭고 시간이 걸릴 수 있습니다.

Custom Language 추가하기

Custom Language를 추가하는 데에는 두 가지 작업을 필요합니다. 하나는 Language 자체에 대한 parsing 정보를 등록하는 것이고, 나머지는 등록한 Language를 Project에 적용할 수 있도록 Document Option에 추가해주는 것입니다.
  1. 새로운 Language 추가하기 
    1. Options 메뉴 -> Preferences 메뉴 -> Languages 탭으로 이동합니다.



    2. Import 버튼을 눌러 원하는 CLF 파일을 가져옵니다.
      Add 버튼을 눌러서 새로운 Language를 추가하고 직접 keyword 편집이나 symbol parsing 규칙 등록 등의 작업을 해줄 수도 있습니다.



    3. 이제 Languages 탭에서 새로운 Language가 추가된 것을 확인할 수 있습니다.
      ※ 사용자가 추가한 Custom Language는 아이콘이 약간 다릅니다.



  2. 추가한 Language에 대한 Document Option 추가하기 
    1. Options 메뉴 -> Document Options 메뉴를 실행한 다음 다이얼로그에서 Add Type 버튼을 눌러 새로운 타입을 추가합니다.



    2. 추가된 타입에 대한 상세 설정을 해줍니다.



      1. 이 Language Type이 적용될 확장자를 지정해줍니다.
      2. Include when adding to projects 항목을 체크해주어야 프로젝트 생성 시 해당 확장자 파일이 자동으로 추가됩니다.
      3. 위 첫 번째 단계에서 추가한 Custom Language를 지정해줍니다.

Symbian C++ 개발을 위한 추천 설정

Symbian 관련 개발 상에서는 일반 C++ 개발 상에서와 달리 추가되는 파일들이 몇 가지 더 있습니다. 그렇기 때문에 이 파일들을 별도의 Language Type으로 등록해주면 소스 분석에 더욱 도움이 됩니다.
  • 가장 먼저 Symbian C++ 관련 C.tom 파일을 적용해두셔야 합니다.
  • Symbian C++ 관련 source 파일 등록
    • 추가해야 할 확장자들: *.hrh;*.pan;*.inl;*.rsg;*.rh;*.loc;*.mbg;*.rss;*.rls
      주의: C++ Language Type에 Symbian C++ 관련 확장자를 등록해두신 분은 C++ Language Type 쪽에서 그 확장자를 제거해주실 필요가 있습니다.



  • Symbian C++ 관련 build script 파일 등록
    • 추가해야 할 확장자들: *.mmp;*.midef;*.inf;*.iby