1

我有一个根据http://www.erlang.org/doc/system_principles/create_target.html
创建的系统, 其中包括加密应用程序。

我可以启动它,但是在我将“-mode embedded”添加到 bin/start 之后,似乎某些东西不再启动了。

我被卡住了,我该如何调查?我还在 bin/start 中添加了 -sname 和 -setcookie,当我删除 -mode 嵌入式系统启动时,应用程序工作,我可以使用分布式 erlang 技术连接到它。但是嵌入它根本不交互。

最小的测试用例是将以下补丁应用到来自https://github.com/basho/rebar/wiki/Release-handling的示例应用程序一旦你“rebar generate”并启动它,你将无法连接到它的erlang vm。它也不会优雅地停止。有任何想法吗?

diff --git a/rel/reltool.config b/rel/reltool.config
index 0c26333..ba4bd35 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -6,7 +6,6 @@
          kernel,
          stdlib,
          sasl,
-         crypto,
          test
         ]},
          {rel, "start_clean", "",
@@ -24,7 +23,6 @@
        {app, sasl,   [{incl_cond, include}]},
        {app, stdlib, [{incl_cond, include}]},
        {app, kernel, [{incl_cond, include}]},
-       {app, crypto, [{incl_cond, include}]},
        {app, test, [{incl_cond, include}]}
       ]}.
4

1 回答 1

0

在嵌入式模式下,所有代码在系统启动期间根据引导脚本加载。(也可以稍后通过显式命令代码服务器加载代码)。

我想你可能忘了加载一些库模块。

对于 debug erl,你现在使用 +v 吗?

+V

Makes the emulator print out its version number.

**> +v

**Verbose**.**

如何使用rebar (rebar generation)做同样的事情(release operation)?Rebar 会自动为您生成相同类型的文件。您可以将这些文件与您的文件进行比较并找出错误。尤其是引导脚本

于 2012-11-29T13:42:17.077 回答