问题
It seems invoking im()
. after invoking ./bin/mongooseim debug
shell fails with message "call to i:im/0 in application debugger fails". However, when I do it typical Erlang shell, it opens up the window correctly. Any idea why ?
回答1:
There is several reasons starting debugger graphical interface could fails:
- you are debugging a remote server and the server cannot display its UI on your local computer through SSH.
- You are missing access to some Erlang components in the context of ejabberd.
As an example, I tried on my local computer and it worked fine:
$ ./ejabberdctl debug
...
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:true]
Eshell V6.4 (abort with ^G)
(ejabberd@localhost)1> i:im().
<0.464.0>
It even worked with ejabberd binary installer after adding the debugger component for Erlang R17B-5 in INSTALLER_DIR/lib/
.
The component you need to add to binary installer to use the graphical debugger are: debugger
and wx
. Just copied those two dir and it worked.
来源:https://stackoverflow.com/questions/31643730/call-to-iim-in-application-debugger-failed-in-mongooseim