【问题标题】:Erlang remote shell debugging not workingErlang远程shell调试不起作用
【发布时间】:2019-05-14 03:23:23
【问题描述】:

我正在尝试从本地 PC 调试在远程 PC 上启动的 Erlang 节点。 为了调试,我正在使用带有 Erlang 插件的最新 IntelliJ Idea。

远程节点是这样启动的:

erl -pa /path/to/myapp/ebin -name myapp@myremote.host -setcookie mycookie -shell -eval "application:start(myapp)."

Idea 使用 Rebar "Erlang Remote Node" 配置,因此本地节点启动并连接到 myapp@myremote.host。

我可以确认连接,因为“nodes()”。在远程外壳上显示我从本地机器连接的节点。 net_adm ping/pong 也有效。 "epmd -names" 也显示相应的会话。

不幸的是,我在 IDE 中的所有断点都没有触发,所以我无法停止执行并通过 IDE 执行逐步调试。

同时,如果两个节点都在本地 PC 上启动,这样的调试会话就像一个魅力。

请告诉我我做错了什么。非常感谢。

PS:我也尝试过使用短节点名称,结果相同。

【问题讨论】:

  • 作为临时解决方法,内置 erlang 调试器可以通过 ssh/X 转发使用。 DISPLAY=:0 ssh -XC my.host.name erl -pa /path/to/project/ebin -setcookie mycookie -name myapp@my.host.name -shell 从 shell : debugger:start()。应用程序:开始(myapp)。

标签: debugging erlang


【解决方案1】:

您应该设置 epmd 以侦听外部 IP (http://erlang.org/doc/man/epmd.html),然后 DNS 名称“myremote.host”应该解析为它的 IP

【讨论】:

    猜你喜欢
    • 2017-03-01
    • 2012-08-28
    • 2012-09-08
    • 2014-02-05
    • 2015-04-05
    • 2014-01-01
    • 2011-08-22
    • 2013-05-06
    相关资源
    最近更新 更多