在应用程序调试器中调用 i:im() 在 mongooseim 中失败

Call to i:im() in application debugger failed in mongooseim

好像在调用im()。在调用 ./bin/mongooseim debug shell 后失败并显示消息 "call to i:im/0 in application debugger fails"。但是,当我执行典型的 Erlang shell 时,它会正确打开 window。知道为什么吗?

启动调试器图形界面失败的原因有多种:

  • 您正在调试远程服务器,该服务器无法通过 SSH 在您的本地计算机上显示其 UI。
  • 您无法访问 ejabberd 上下文中的某些 Erlang 组件。

举个例子,我在我的本地计算机上试过,它运行良好:

$ ./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>

INSTALLER_DIR/lib/ 中添加了 Erlang R17B-5 的调试器组件后,它甚至可以与 ejabberd binary installer 一起工作。 您需要添加到二进制安装程序以使用图形调试器的组件是:debuggerwx。刚刚复制了这两个目录,它起作用了。