私はErlangで始まったばかりなので、まだコードに複雑なものはありません。私はしばしばランタイムエラーにつながる間違いを犯します。Erlangでランタイムエラーが発生した原因を特定するにはどうすればよいですか?
問題は、私はいつもこのようなものを見ている:
は{ "do_bootで終わるのinit"、{undefを、[{ 'lexer_app.beam'、スタート、[]、[]}、{のinitダンプに書き込まれている、start_it、1、[]}、{INIT、start_em、1、[]}]}}
クラッシュ... erl_crash.dump(do_bootで INIT終端を行う)
何が間違っていたかについての簡単な情報はほとんどありません。
こういったエラーをデバッグしてerl_crash.dumpを調べる唯一の方法は、率直に言えば、全体のabrakadabraのように見えます。私はそれを調べることによって何とか単純なばかげたエラーを見つけ出す必要があります?
主な質問は、「5:6人型変数の型変数が型番号に割り当てられない」のような人にやさしいエラーを出すことができるかどうかです。
アプリをデバッグする通常のワークフローは何ですか?
少しトリックを行うことができます:それは発見したので、VMのinitはdo_bootで停止します未定義の関数を呼び出す: 'lexer_app.beam':start。 "erl -s lexer_app.beam"ではなく "erl -s lexer_app"の代わりに、erl -s lexer_app -pa path/to/beamというようにビームファイルにパスを追加するオプションを使用してerlを起動したと思います。 – Pascal