2010-05-02 OCamlでスタックトレースを出力する方法 開発環境 OCamlで記述したプログラム内で例外が発生した場合,非常にあっさりしたメッセージを出力して停止する。OCamlでもJavaやLL言語のようにスタックトレースを出力できないものかとしらべてみた。 以下に方法を示す。 `-g'オプションを付けて,バイトコードプログラムをビルドする。 ocamlrunに`-b'オプションを付けてプログラムを起動する。もしくは,環境変数OCAMLRUNPARAMに`b'をセットする。 これで,例外が発生した箇所のソースファイル名と行数,問題の箇所に到るまでのスタックトレースが表示されるようになる。 OCAMLRUNPARAMに`b'をセットしておけば,ネイティブプログラムでもスタックトレースは出力されないが例外発生箇所の場所だけは表示してくれるようだ。