質問

た時の起動機能のerlシェードを動作させることができます。ろうとした際に、呼び出しと同じ機能erl...sモジュール機能が失敗します。

にコードが失敗したのは:

start(Port) ->
    mochiweb_http:start([{port, Port}, {loop, fun dispatch_requests/1}]).

私はより効果的にポートを設定します。私のエラーメッセージ:

=CRASH REPORT==== 17-Jan-2010::00:21:09 ===
  crasher:
    initial call: mochiweb_socket_server:acceptor_loop/1
    pid: <0.65.0>
    registered_name: []
    exception exit: {error,closed}
      in function  mochiweb_socket_server:acceptor_loop/1
    ancestors: [mochiweb_http,<0.1.0>]
    messages: []
    links: []
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 377
    stack_size: 24
    reductions: 93
  neighbours:

また、デバッガやすいステップを通してまでの上記コードです。合格後に、ちょっとこのクラッシュ報告する。

のお役に立てるようですぞよろしくお願い申し上げます。

役に立ちましたか?

解決

フム、私はそれが動作するはずだと思います。 同じコンパイラのバージョンでコンパイルされたすべてのモジュールがありますか? IIRCそこにソケットレベルで奇妙なエラーになる場合はない可能性があります。 ところで、あなたは-sのデフォルトである、あなたのエントリポイント関数の開始を呼ぶかもしれない。

他のヒント

また、あなたが-evalオプションを試すことができます:

erl -eval 'module:start(9090).'
-sを使用している場合、

、引数はリストに収集され、そのポートが実際にリストに囲まれることになります。あなたは(start([Port])のような)ラッパー関数で両方の例(リストまたはint)を確認することができます。

ご利用の際は-s走Gettextの機能を引数に入れてのリスト 原子.ご利用の際は走行Gettextの機能を引数に入れてのリスト 文字列.

を必要とする場合 整数 値を、必要なのは、適切な換。したい場合はカバーのすべての場合には、このようになったヘルプ

start([Port]) when is_atom(Port) ->
    start([atom_to_list(Port)]);
start([Port]) when is_list(Port) ->
    start(list_to_integer(Port));
start(Port) when is_integer(Port) ->
    mochiweb_http:start([{port, Port}, {loop, fun dispatch_requests/1}]).

Manページ erl ("erl-男erl")。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top