2017-06-14 11 views
0

私はメッセージブローカー(EMQTT )として使用されるオープンソースソフトウェアを学びたいと思いますが、コードを変更してメッセージの流れをトレースしようとすると、Intellij Ideaがデバッグしかできないように見えます1つのErlang関数または1つのモジュールを一度に使用できます。私はプロジェクト全体をデバッグし、関数ごとにデバッグするのではなく、ブレークポイントでトレースする方法はありますか? enter image description hereIntellijのアイデアを使ってErlangプロジェクトをデバッグする方法は?

答えて

0

Intellijプロジェクトマネージャとしてリールを使用します。 rebarは廃止され、rebar3(rebarの新しいバージョン)は高度な機能とともに使用できます。

&ダイアライザを実行するには、rebar3とその高度な機能を使用できます。

EMQTTはtravisをサポートしています!
プロジェクトでフォークしてtravisを有効にすることができます。 travisはテストプラットフォームであり、変更が行われるたびにプロジェクトをテストします。詳細は
は、試行の数日後にtravis docs

+0

IntellijのErlangプラグインは2017年以降rebar3をサポートしていますが、rebarとErlangデバッガは関係がないため、Intellijがrebar3をサポートしているかどうかは問題に影響しません。トラビスはギブスの所有者ではありません。 –

0

を参照してください、私はのIntelliJアイデアでデバッグん使用できる方法を発見した、それは私が発見したい方法として、知事としてはありませんが、それは上に役立ちますある程度、参照する必要がある人のためにここに投稿してください。あなた* .erlファイルが入っているディレクトリの中

  1. CD。
  2. C( "あなたのERLファイル"、DEBUG_INFO)でコンパイルします。コンパイル時にはdebug_infoが必要です。そうでない場合、デバッグでエラーが発生します: "ビームファイルにデバッグ情報がありません"。

  3. 設定パラメータは、ご使用のモジュールに応じて、下の図は参考値です。あなたの関数は、引数

PSを必要とする場合、関数引数を提供しなければならないことがありますこれは、シェルでコンパイルする冗長相対的であるが、それは何のビームファイルが提供されていない場合作品は、それは常に上げることができる私が見つけた唯一の方法であり、エラー:「ビームファイルなし」。

誰かがより良い方法を持っている場合は、この質問やコメントにお答えするかどうか、私に助けてください、ありがとうございます!

enter image description here

0

一つのディレクトリ内のソースファイルとアーティファクトを持っていることのあなたのソリューションは、のIntelliJのデバッガを使用するための唯一の方法であるように見えます。通常、ソースファイルとアーティファクトは同じディレクトリにないので、この動作は奇妙に思えます。したがって私は問題を開けました(https://github.com/ignatov/intellij-erlang/issues/811)。

rebar3とeunitで動作する解決策は、How to debug erlang code during rebar3 eunit?に記載されています。 Erlangプラグインで提供されているrebar3コマンドを実行するためのサポートを使用して、rebar3をIntellijのテストシェルとして起動することができます。

関連する問題