Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang VM-s参数导致我的程序失败_Erlang_Erl - Fatal编程技术网

Erlang VM-s参数导致我的程序失败

Erlang VM-s参数导致我的程序失败,erlang,erl,Erlang,Erl,我已经在这里读到了这个帖子:并且一直在排除故障,但都没有用 当我在没有-s标志的情况下运行erlang vm时,我的函数可以工作: bridge_sup:start_link(). Bridge Supervisor Initializing [warning] ClientId is NULL! [warning] ClientId is NULL! Success Success 但是,如果设置了-s标志,当我的函数继续调用另一个函数emqttc:start

我已经在这里读到了这个帖子:并且一直在排除故障,但都没有用

当我在没有-s标志的情况下运行erlang vm时,我的函数可以工作:

bridge_sup:start_link().

   Bridge Supervisor Initializing
   [warning] ClientId is NULL!
   [warning] ClientId is NULL!
   Success
   Success
但是,如果设置了-s标志,当我的函数继续调用另一个函数emqttc:start_link(…)时,它将永远不会返回:

Bridge Supervisor Initializing
   [warning] ClientId is NULL!
   [warning] ClientId is NULL!
我可以验证这不仅仅是一个打印问题,因为我连接的程序没有收到任何信号

在Erlang VM中,什么可能导致这种情况?我也尝试过使用eval来达到同样的效果。以下是./run代码:

erl-pa-ebin-pa-deps/*/ebin


提前谢谢你

可能是启动顺序问题。指定要使用-s(或-run或-eval)运行的命令意味着它启动得非常快,而系统的某些部分可能仍在后台启动。尝试在函数的开头添加一个睡眠,看看它是否改变了什么。在这种情况下,试着找出什么取决于顺序。

可能是启动顺序问题。指定要使用-s(或-run或-eval)运行的命令意味着它启动得非常快,而系统的某些部分可能仍在后台启动。尝试在函数的开头添加一个睡眠,看看它是否改变了什么。在这种情况下,试着找出什么取决于顺序。

我使用的是Erlang版本19.2。我不确定这是这个版本中的错误,还是启动程序的要求,但我添加了一个.app.src文件并添加了“-eval”application:start(myprog)”,程序现在将启动


请注意,它不是以-s、-eval或任何没有app.src文件且没有application:start的-s、-eval开头的。我使用的是Erlang版本19.2。我不确定这是这个版本中的错误,还是启动程序的要求,但我添加了一个.app.src文件并添加了“-eval”application:start(myprog)”,程序现在将启动


请注意,如果没有app.src文件和application:start,它不会以-s、-eval或其中任何一个开头:start

只是抛出了1s&5s等待,没有任何帮助。我正在运行一个gen_服务器,看起来我的handle_info、handle_cast或call函数都没有运行。例如,我运行了一个connect命令,它可以工作,但是我的gen_服务器等待以{client,Pid,connected},State形式出现的响应,但从未得到它。消息传递似乎有点混乱。只是进行了1s和5s的等待,没有任何帮助。我正在运行一个gen_服务器,看起来我的handle_info、handle_cast或call函数都没有运行。例如,我运行了一个connect命令,它可以工作,但是我的gen_服务器等待以{client,Pid,connected},State形式出现的响应,但从未得到它。消息传递似乎是一团糟。如果您准确地描述了程序运行时所执行的步骤顺序,以及相应地描述了程序不运行时所执行的步骤顺序,则会有所帮助。目前有太多的未知数。@RichardC请看我的答案。我相信问题在于没有.app文件。是的,但现在你以不同的方式启动了该程序,因此找出它以前不起作用的原因可能会很有用。通常,如果它从交互式shell工作,那么它应该通过-s工作。例如,是否有任何东西可能要求程序作为已启动的应用程序运行?如果您准确地描述了程序运行时所执行的步骤顺序,以及相应地描述了程序不运行时所执行的步骤顺序,则会有所帮助。目前有太多的未知数。@RichardC请看我的答案。我相信问题在于没有.app文件。是的,但现在你以不同的方式启动了该程序,因此找出它以前不起作用的原因可能会很有用。通常,如果它从交互式shell工作,那么它应该通过-s工作。例如,是否存在任何可能要求程序作为已启动的应用程序运行的情况?