0

如果 erlang 虚拟机因任何原因终止,则整个 werl 窗口将关闭,开发人员没有机会查看问题所在。有什么办法可以预防吗?

4

5 回答 5

1

这可能是阻止窗口关闭的次优方法。在窗口打开之后,但在 vm 崩溃之前,通过 File |Open Logfile were 菜单启动一个 shell 日志文件。然后在它崩溃后,您将能够打开该文件并查看输出到 shell 的所有内容。

否则,如果您正在启动一个版本并且 vm 在启动版本期间崩溃,我建议使用相同的 config.sys 文件但没有 -boot 文件启动一个节点。然后,您可以一次启动一个版本的元素,并以较小的机会杀死整个虚拟机来查看发生了什么。如果您正在使用一个版本(-boot bootfile)启动一个节点,那么如果该版本的任何应用程序失败,整个节点都会关闭。

于 2012-12-13T13:58:11.470 回答
0

你如何开始 werl?尝试之前只启动 cmd.exe,然后在这个命令 shell 中启动 werl。然后,当 werl 崩溃时,命令 shell 窗口仍然会打开,您将能够看到 werl 的消息。

于 2012-12-13T13:16:57.243 回答
0

经常发生的事情是,当窗口崩溃时,werl 进程仍在后台运行。

然后,如果您尝试使用相同的节点名称启动一个新进程,则 werl 窗口会非常快速地打开和关闭,而没有任何机会获取信息。在这种情况下,我使用任务管理器终止了 werl 进程,一切正常。

于 2012-12-13T17:59:24.183 回答
0

为什么不从命令行/cmd 使用 ERL.exe(不是 werl.exe)?VM 会崩溃,但会退回到命令行(仍然显示最后一个错误)。注意,同样如上所述使用 erl_crash.dump 是您详细分析的最佳选择。

于 2012-12-15T21:56:22.420 回答
0

我不确定,但我认为这是不可能的。包括 werl 窗口在内的所有进程都存在于 vm 中,当它崩溃时,所有进程也会崩溃。erlang VM 崩溃时检查错误的方法是查看 erl_crash.dump 文件。

于 2012-12-13T12:29:46.770 回答