【发布时间】: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)。