2

我使用 gen_server 编写了一个简单的 erlang 应用程序。

使用 application:start(myapp) 启动它时,我得到以下元组...

{error,{bad_application,{appliction,myapp ...(我的应用程序配置的其余部分)。

没有其他错误或警告消息。我还尝试搜索有关如何配置 gen_server 以及错误本身的示例。我很惊讶那里的信息如此之少。

我可以开始尝试调试 OTP 了吗?任何指针将不胜感激。

4

3 回答 3

2

在OTP 设计原则的“应用程序”部分中有很多关于如何实现 erlang 应用程序的信息。听起来您正在尝试使用 gen_server 作为您正在启动的应用程序的回调。那是行不通的。

应用程序最常见的设置是有一个应用程序回调模块,它启动一个主管,该主管在某处有一个 gen_server 作为工作人员。应用程序根本不需要启动任何进程。应用程序的存在可以纯粹是为了将一些库模块加载到 vm 中,例如stdlib应用程序。这使得其他应用程序可以依赖库。

于 2010-04-10T17:19:37.900 回答
1

我假设您的配置文件中有错误。您可以尝试做的一件事是

file:consult("<your-app-config-file>").

如果它返回一个错误,你就会知道这就是问题所在..

于 2010-04-26T08:43:52.800 回答
1

您可能还想查看以下有关如何调试 Erlang 函数的教程:

http://aloiroberto.wordpress.com/2009/02/23/tracing-erlang-functions/

于 2010-04-10T23:53:44.497 回答