我是 Erlang 新手。我正在研究有关 RabbitMQ 如何处理消息的一些细节。我想在其源代码中创建一些断点并观察上下文。然而,似乎没有一个适合 Erlang OTP 应用程序的理想 IDE,可以像 IDEA for java 一样带来良好的调试体验。
由于RabbitMQ的源代码是由erlang.mk管理的,所以我下载了源代码,用VS Code +“Erlang LS”扩展打开,但找不到如何从源代码开始调试项目。对于选择IDE和扩展,或者以方便的方式调试源代码有什么建议吗?
尝试过:
VS Code +“Erlang LS”扩展:找不到如何开始调试。
VS Code + “erlang”扩展:仅支持 rebar/rebar3 管理的项目。
期待:
从源代码调试 RabbitMQ 的便捷方法。
我自己找到了解决方案。 按照以下步骤即可享受调试的乐趣:
epmd-名称
启动rabbitMQ后查找正在运行的节点。
launch.json 就像:
{ “版本”:“0.2.0”, “配置”:[ { "name": "现有的 Erlang 节点", “类型”:“二郎”, “请求”:“附加”, "projectnode": "兔子", “cookie”:“xxxxxx”, “超时”:300, "cwd": "${workspaceRoot}" } ] }
“projectnode”应与上述步骤中使用的节点名称相同。 “cookie”是默认的 Erlang 节点 cookie。
bazel run -c dbg 代理
先生,您还有其他步骤吗?我遵循了相同的,但我得到的只是
Module not available (no_src) in the debugged node, reset the breakpoint when the module is availalbe
。我什至从 Erlang LS 看到了来自 ADP 服务器的日志,它确实连接到了 Erlang 节点。
想知道除了
bazel run -c dbg broker
之外我是否还需要做任何其他标志或步骤