我有一个根据http://www.erlang.org/doc/system_principles/create_target.html创建的系统 其中包括加密应用程序。
我可以启动它,但是在我将“-mode embedded”添加到bin / start之后,似乎某些东西不再启动了。
我被困住了,我该如何调查?我还将-sname和-setcookie添加到bin / start,当我删除-mode嵌入式系统启动时,应用程序工作,我可以使用分布式erlang技术连接到它。但是对于嵌入式它根本不会相互作用。
最小的测试用例是将以下补丁应用于https://github.com/basho/rebar/wiki/Release-handling的示例应用程序。一旦你'生成'并启动它,你将无法连接到它的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}]}
]}.
答案 0 :(得分:0)
在嵌入式模式下,所有代码都在系统启动期间加载 到启动脚本。 (代码也可以在以后明确加载 命令代码服务器这样做。)
我想您可能忘记加载一些库模块。
对于调试erl
,你现在使用+ v吗?
+ V
Makes the emulator print out its version number.
**指+ V
**Verbose**.**
如何使用rebar (rebar generation)做同样的事情(发布操作)? Rebar会自动为您生成相同类型的文件。 您可以将这些文件与文件进行比较,然后找出错误。,尤其是启动脚本。