何らかの理由で erlang 仮想マシンが終了すると、開発者が何が問題なのかを確認する機会がなく、全体の werl ウィンドウが閉じられます。それを防ぐ方法はありますか?
5 に答える
これは、ウィンドウが閉じないようにする次善の策かもしれません。ウィンドウが開いた後、VM がクラッシュする前に、File |Open Logfile were メニューからシェル ログ ファイルを開始します。その後、クラッシュした後、そのファイルを開いて、シェルに出力されたすべてのものを確認できます。
それ以外の場合、リリースを開始していて、リリースの開始中に vm がクラッシュする場合は、同じ config.sys ファイルを使用してノードを開始することをお勧めしますが、-boot ファイルは使用しません。次に、リリースの要素を 1 つずつ開始し、VM 全体を強制終了する可能性がより低い状況で何が起こっているかを確認できます。リリース (-boot bootfile) でノードを起動している場合、そのリリースのいずれかのアプリケーションが失敗すると、ノード全体がシャットダウンします。
コマンドライン/cmdからERL.exe(werl.exeではない)を使用してみませんか?VMはクラッシュしますが、コマンドラインにフォールバックします(最後のエラーは引き続き表示されます)。また、前述のように、erl_crash.dumpを使用することが、詳細な分析の最良のオプションであることに注意してください。
よくわかりませんが、これは不可能だと思います。werlウィンドウを含むすべてのプロセスは、クラッシュするとvm内に存在し、すべてがクラッシュします。erlang VMがクラッシュしたときにエラーを検査する方法は、erl_crash.dumpファイルを調べることです。
非常に頻繁に発生するのは、ウィンドウがクラッシュしたときに、werl プロセスがまだバックグラウンドで実行されていることです。
次に、同じノード名で新しいプロセスを開始しようとすると、情報を取得する機会がなく、werl ウィンドウが非常に速く開いて閉じます。この場合、タスク マネージャーを使用して werl プロセスを強制終了すると、すべて問題ありません。
どのようにウェルルを始めますか? 前に cmd.exe だけを起動してから、このコマンド シェルで werl を起動してみてください。その後、werl がクラッシュしても、コマンド シェル ウィンドウは開いたままで、werl のメッセージを表示できます。