我使用 gen_server 编写了一个简单的 erlang 应用程序。
使用 application:start(myapp) 启动它时,我得到以下元组...
{error,{bad_application,{appliction,myapp ...(我的应用程序配置的其余部分)。
没有其他错误或警告消息。我还尝试搜索有关如何配置 gen_server 以及错误本身的示例。我很惊讶那里的信息如此之少。
我可以开始尝试调试 OTP 了吗?任何指针将不胜感激。
我使用 gen_server 编写了一个简单的 erlang 应用程序。
使用 application:start(myapp) 启动它时,我得到以下元组...
{error,{bad_application,{appliction,myapp ...(我的应用程序配置的其余部分)。
没有其他错误或警告消息。我还尝试搜索有关如何配置 gen_server 以及错误本身的示例。我很惊讶那里的信息如此之少。
我可以开始尝试调试 OTP 了吗?任何指针将不胜感激。
在OTP 设计原则的“应用程序”部分中有很多关于如何实现 erlang 应用程序的信息。听起来您正在尝试使用 gen_server 作为您正在启动的应用程序的回调。那是行不通的。
应用程序最常见的设置是有一个应用程序回调模块,它启动一个主管,该主管在某处有一个 gen_server 作为工作人员。应用程序根本不需要启动任何进程。应用程序的存在可以纯粹是为了将一些库模块加载到 vm 中,例如stdlib
应用程序。这使得其他应用程序可以依赖库。
我假设您的配置文件中有错误。您可以尝试做的一件事是
file:consult("<your-app-config-file>").
如果它返回一个错误,你就会知道这就是问题所在..
您可能还想查看以下有关如何调试 Erlang 函数的教程:
http://aloiroberto.wordpress.com/2009/02/23/tracing-erlang-functions/