有任何 IDE 或扩展可以帮助调试 Rabbitmq 吗?

问题描述 投票:0回答:2

我是 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 的便捷方法。

debugging rabbitmq erlang
2个回答
0
投票

我自己找到了解决方案。 按照以下步骤即可享受调试的乐趣:

  1. 在 VS Code 中安装“Erlang LS”扩展。
  2. 取消注释“erlang_ls.config”中的“code_reload”设置并输入正确的节点名称。 对于Mac OS 13 上的rabbitmq 3.11.5,节点名称为“rabbit”。如果您不确定节点名称,请使用

epmd-名称

启动rabbitMQ后查找正在运行的节点。

  1. launch.json 就像:

    { “版本”:“0.2.0”, “配置”:[ { "name": "现有的 Erlang 节点", “类型”:“二郎”, “请求”:“附加”, "projectnode": "兔子", “cookie”:“xxxxxx”, “超时”:300, "cwd": "${workspaceRoot}" } ] }

“projectnode”应与上述步骤中使用的节点名称相同。 “cookie”是默认的 Erlang 节点 cookie。

  1. 启动rabbitmq:

bazel run -c dbg 代理

  1. 按“F5”,并根据需要设置断点。 Rabbitmq 现在可以免费调试了。

0
投票

先生,您还有其他步骤吗?我遵循了相同的,但我得到的只是

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

之外我是否还需要做任何其他标志或步骤
© www.soinside.com 2019 - 2024. All rights reserved.