メモ:ErlangのVMをgdb上で動かす
Erlangのソースを取って来て解凍する.
$ wget 'http://www.erlang.org/download/otp_src_R14B01.tar.gz' $ tar xzfv otp_src_R14B01.tar.gz
コンパイルする.
$ cd otp_src_R14B01 $ ./configure $ make
デバッグ用のフラグを立ててbeamをコンパイルする.FLAVOR=plainでbeam.debug,FLAVOR=smpでbeam.debug.smpが作成される.
$ export ERL_TOP=$PWD $ cd erts/emulator $ make debug FLAVOR=plain $ make debug FLAVOR=smp
beam.debugとbeam.debug.smpが作成されているのを確認する.
$ cd ../../ $ ls bin/i686-pc-linux-gnu/ ... beam.debug beam.debug.smp ...
$ ./bin/cerl -gdb -debug
Emacsが起動したら,runと入力するとErlangのVMであるbeamが実行される.あとは普通のgdbによるデバッグと同じ.