ソース ファイルおよび STB ファイルの検索

プログラムがリンクされ、ロードされた実行可能ファイルを引数として CodeWatch が呼び出された後、デバッガーはプログラム ソース ファイルおよび STB ファイルの両方にアクセスする必要があります。

ソース ファイルは、デフォルトでは、コンパイラに指定されたディレクトリ (現在のディレクトリからの相対ディレクトリ) で最初に検索され、見つからない場合は現在のディレクトリで検索されます。

STB ファイルは、デフォルトでは、現在のディレクトリ (それらのファイルが作成されたディレクトリ) で最初に検索され、見つからない場合はコンパイラに指定されたディレクトリで検索されます。これは、ソース ファイルに使用される検索アルゴリズムとまったく逆です。

デバッガーのコマンド ライン引数または環境変数 (あるいはその両方) を使用して、ソース ファイルおよび STB ファイルの両方の検索でデフォルトのディレクトリよりも先に別のディレクトリを検索するように指定することができます。

CodeWatch オプションの -srcpath または -stbpath (あるいはその両方) を使用して、その後にコロン (:) で区切ったディレクトリ名のリストを指定することで、他のディレクトリよりも先に検索するディレクトリのリストを指定できます。ソース ファイルまたは STB ファイル (あるいはその両方) の検索で、これらのディレクトリ リストがそれぞれ順番に検索されます。ディレクトリ リストの先頭がコロンである場合、現在のディレクトリ (.) が最初に指定されているものと見なされます (末尾のコロンは無視されます)。-srcpath オプションと -stbpath オプションの一方または両方が指定されていない場合、それらのオプションの代わりに、-path オプションの後に指定されたディレクトリ リストが使用されます。

CodeWatch の起動時に指定されたディレクトリを検索してもソース ファイルまたは STB ファイル (あるいはその両方) が見つからない場合、デバッガーは環境変数で指定されたディレクトリを同じように検索します。環境変数の CODEWATCH_SRCPATH または CODEWATCH_STBPATH (あるいはその両方) を使用して、コロンで区切ったディレクトリ名のリストを指定できます。ソース ファイルまたは STB ファイル (あるいはその両方) の検索で、これらのディレクトリ リストがそれぞれ順番に検索されます。CODEWATCH_SRCPATH 環境変数と CODEWATCH_STBPATH 環境変数の一方または両方が指定されていない場合、それらの環境変数の代わりに、CODEWATCH_PATH 環境変数の後に指定されたディレクトリ リストが使用されます。

たとえば、次のコマンドについて考えてみます。

cw_java -srcpath :/pl1progs/src:/src/pl1progs\ -stbpath /pl1progs/stb:/pl1progs/obj program-name

この場合、デバッガーによるソース ファイルの検索では、次のディレクトリがこの順序で検索されます。

  1. /pl1progs/src
  2. /src/pl1progs
  3. コンパイル時に指定されたディレクトリ (現在のディレクトリと異なる場合)
  4. 現在のディレクトリ (.)

STB ファイルについては、次のディレクトリがこの順序で検索されます。

  1. /pl1 progs/stb および /pl1 progs/obj
  2. 現在のディレクトリ (.)
  3. コンパイル時に指定されたディレクトリ (現在のディレクトリと異なる場合)