ocamlrun の認識するコマンドラインオプションは以下の通りです。
-b
捕捉されなかった例外によりプログラムが終了する場合、実行の詳細なバックトレースとして、例外の起こった場所と、そのときの関数呼び出しを表示します。
バックトレースは実行可能バイトコードファイルにデバッグ情報が含まれる場合、すなわち、 ocamlc に -g
オプションを指定してバイトコードをコンパイル・リンクした場合にだけ表示されます。
このオプションは環境変数 OCAMLRUNPARAM
に b
フラグを設定するのと等価です(下記参照)。
-I
dir
動的読み込みされるライブラリを探索する際に標準の探索パスに加えてディレクトリ dir
も探索します( 10.3 節「共有ライブラリの動的読み込み」 参照)。
-p
このバージョンの ocamlrun に含まれるプリミティブ関数の名前を表示し終了します。
-v
メモリマネージャの進捗メッセージを標準エラー出力に表示させるようにします。
これは、環境変数 OCAMLRUNPARAM
に v=63
を設定することと等価です(下記参照)。
-version
バージョンを表示して終了します。
-vnum
バージョン番号を短かい形式で表示して終了します。
以下の環境変数も参照します。
CAML_LD_LIBRARY_PATH
動的読み込みされるライブラリの探索パス用の追加のディレクトリ( 10.3 節「共有ライブラリの動的読み込み」 参照)。
OCAMLLIB
Objective Caml の標準ライブラリの格納されているディレクトリ(OCAMLLIB
が設定されていない場合には、代わりに CAMLLIB
が使われます)。
動的読み込み時に ld.conf
設定ファイルの場所を特定するために使われます( 10.3 節「共有ライブラリの動的読み込み」 を参照)。
設定されていなかった場合には Objective Caml をコンパイルしたときに指定したライブラリディレクトリが使われます。
OCAMLRUNPARAM
ランタイムシステムのオプションとガーベジコレクションのパラメータを設定します(OCAMLRUNPARAM
が設定されていない場合、代わりに CAMLRUNPARAM
が使われます)
この変数の値はパラメータの指定を並べたものでなければなりません。
パラメータ指定は、オプションを表す文字に =
を続け、次に十進数値(または 0x
を前置した十六進数値)、その後に省略可能な乗数を続けたものです。
オプションはここのつあり、そのうちむっつは Gc モジュールに説明されているレコード型 control
のフィールドに対応します。
b
(バックトレース)捕捉されない例外でプログラムが終了するときにバックトレースを表示するようにします。 このオプションは引数を取りません。
p
(構文解析器のトレース) ocamlyacc で生成した構文解析器用のデバッグ機能を有効にします。 このオプションを有効にすると、構文解析を実行するプッシュダウンオートマトンがアクション部のトレースを表示するようになります。 このオプションは引数を取りません。
s
(minor_heap_size
)マイナーヒープの大きさ(語単位)。
(major_heap_increment
メジャーヒープ拡張時の追加サイズのデフォルト(語単位)。
o
(space_overhead
)メジャー GC のスピード設定。
O
(max_overhead
)ヒープコンパクションの発動条件の設定。
v
(verbose
)標準エラーに出力される GC のメッセージの種類。このオプションの値は以下の値の和になります。
メジャー GC サイクルの開始。
マイナーコレクション、及びメジャーGCのスライス。
ヒープの増減。
スタックとメモリマネージャーテーブルのリサイズ。
ヒープのコンパクション。
GC パラメータの変更。
メジャー GC のスライスサイズの計算。
ファイナライズ関数の呼び出し。
起動メッセージ(バイトコードの読み込み、共有ライブラリの解決)。
l
(stack_limit
)スタックサイズの限界(語単位)。
h
メジャーヒープの初期サイズ(語単位)。
乗数は k
、 M
、 G
のいずれかで、
それぞれ 210、 220、 230 になります。
例えば、 32 ビット計算機の bash で
export OCAMLRUNPARAM='b,s=256k,v=1'
を実行すると、以降の ocamlrun
の実行では、例外が捕捉されなかった場合にはバックトレースを表示し、マイナーヒープの初期サイズを 1 メガバイトに設定し、メジャー GC の各サイクルの開始時とヒープサイズの変更時、コンパクションの発動時にメッセージを表示します。
CAMLRUNPARAM
OCAMLRUNPARAM
が環境中に設定されていない場合には
CAMLRUNPARAM
が代わりに使われます。
CAMLRUNPARAM
も設定されていない場合にはデフォルト値が使われます。
PATH
実行可能バイトコードファイルを探索するディレクトリのリストです。