Erlang

Erlangデバッガの基本的な使い方

More than 1 year has passed since last update.

※Erlang始めたばかりなのでベストプラクティスではないかもしれません

このページに書いてあることはErlang -- Debuggerにも書いてあるので、詳しくはドキュメントを参照してみてください。こちらには超基本的なことを簡単に書いています。


起動と設定

erl shellでdebugger:start()コマンドを実行すると起動します。

$ erl shell

> debugger:start().


デバッグ対象モジュールの追加

Screen Shot 2016-06-27 at 08.01.23.png

このままだと何もできないので、デバッグ対象のソースコードをデバッガに追加します。

Module -> Interpret... を選択します。

ファイル一覧のウィンドウが表示されるので、erlファイルを追加していきます。

Screen Shot 2016-06-27 at 08.01.33.png

Screen Shot 2016-06-27 at 08.42.52.png

デバッガの左側のメニューに追加したモジュールが表示されます。


ブレークポイントの追加

ブレークポイントを追加したいモジュールをダブルクリックします。モジュールのコードが別ウィンドウで開くので、この状態でグローバルメニューのBreakから、追加したいブレークポイントのタイプを選んでいきます。

コードの対象行をダブルクリックすると行のブレークポイントを追加することができます。

Screen Shot 2016-06-27 at 08.02.06.png

Screen Shot 2016-06-27 at 08.02.49.png


デバッグしてみる

対象モジュールを動かしてみます。

例で使っているモジュールはcowboyのhandlerなので、対象handlerに紐付いているpathにリクエストを送ってみます。

Screen Shot 2016-06-27 at 08.04.07.png

ブレークポイントをつけた箇所での変数の内容を見ることもできます。

この画面の左下のEvaluatorというインプットに好きな式を書いて動かすことができるようです。(が、recordに関してはundefined_recordと表示されてしまいうまく評価できませんでした。どうやれば評価できるかわかったら記事にも追記したいと思います)

Screen Shot 2016-06-27 at 08.05.12.png


デバッガの設定の保存と読み込み

debugger:startした後に毎回デバッグ対象のモジュールを追加するのは面倒です。

グローバルメニューのFile -> Save Settingsから、デバッガの設定をファイルに書き出すことができます。

また、debugger:start(<settings path>)でこの設定ファイルを読み込んでデバッガを起動することができます。(Erlang -- debugger

開発中は


  1. プロジェクトの主要なソースコードを予めデバッガ上に追加しておく

  2. settingsを書き出し

  3. debugger:start(<settings path>)

でデバッガを起動しながら実装を進めていくのがいいのかなーと思いました。