Отладка Mochiweb (например, отладка ejabberd)

Мне было интересно, знает ли кто-нибудь способ попасть в Mochiweb, как это делает ejabberd, когда вы запускаете отладку /sbin/ejabberdctl?


person ewindsor    schedule 29.11.2009    source источник


Ответы (1)


  1. Убедитесь, что -sname $NODE@$HOST (или -name $NODE@$FULLHOST) присутствует в параметрах вызова erl в start.sh вашего проекта на основе mochiweb.
  2. Создайте файл debug.sh со следующим кодом:

    #!/bin/bash
    erl -sname debug_$NODE@$HOST -remsh $NODE@$HOST
    

Не смешивайте sname и name в сценариях, потому что узлы с короткими именами не могут общаться с узлами с полными именами (и наоборот). Кроме того, не забудьте использовать один и тот же файл cookie на обоих узлах либо через -setcookie параметр erl или через файл ~/.erlang.cookie.

Конечно, вы должны заменить $NODE, $HOST и $FULLHOST соответствующими значениями.

person gleber    schedule 30.11.2009
comment
Потрясающе, спасибо! Сначала это не сработало, потому что мне пришлось также установить -setcookie для соответствия, но после этого это сработало. Большое спасибо - person ewindsor; 01.12.2009
comment
Хорошая мысль о печенье. Я использую куки из ~/.erlang.cookie файла, поэтому забыл про -setcookie :) - person gleber; 01.12.2009