他人が書いたソースを修正しなければならないことはよくある。

で、とある関数を修正しようとしたときに、影響範囲を調べるのは結構面倒だ。
grep一発で済めばいいが、たいていは入れ子で呼び出されている他の関数を追うハメになる。
ctagsとかでジャンプすればいいのだが、ひと目でチェックできるとうれしい。
そこで、便利ツールを探していたところ、「RedHat SourceNavigator」を見付けた。
source navigator NG
<導入手順>

  1. 上記サイトからバイナリをダウンロードしてくる。(zip) 現時点では5.2b2が最新。
  2. ダウンロードしたファイルを解凍して適当な場所に配置する。配置する場所のパスにスペースが含まれていると起動しないので注意。(デスクトップとかはNG)

<使い方>

  1. 起動するとまず小さいウィンドウが起動するので[NewProject]を押下。
    • ProjectFile:SourceNavigatorの各種ファイルを作成するフォルダを選択。
    • AddDirectory:ソースファイルのあるフォルダを指定。[more]を押下すると複数追加できる。
  2. [ProjectEditor]を押下する。はやまってここで[OK]を押すと泣ける。
  3. すかさず[Preferences]を押す。
  4. まず、[Project]タブで[Charctor set encoding]をshiftjisに変更する。これをしないとWindows環境では文字化けする。しかもproject作成後に変更しようとすると落ちる。おまけにprojectファイルを破壊する。→結局project作り直し。
  5. 毎回設定するのも嫌なので、[Save as Default]を押下する。で[OK]。
  6. ProjectEditor画面でも[OK]を押すと、プロジェクトが生成される。

詳しい使い方はhttp://www.jp.redhat.com/embedded/emb_download/index.htmlに日本語マニュアルがあるのでそれを参照。
Xrefが便利。<注意事項>

  • 実行ファイルを置く場所はスペースや全角文字を含まない場所にすること。
  • 同様にプロジェクトファイルや解析対象とするソースの場所にも気を付ける。