我想学习一个用作消息代理的开源软件( Erlang ),但是当我试图更改一些代码并跟踪消息如何在其中流动时,出现了一个问题,https://github.com/emqtt/emqttd的想法似乎一次只能调试一个Erlang函数或一个模块。有没有办法可以调试整个项目并跟踪断点,而不是逐个在函数中调试它们?

发布于 2017-06-14 17:33:12
Intellij使用rebar作为项目经理。不推荐使用rebar,rebar3 (新版本的rebar)具有高级功能。
您可以使用rebar3及其高级功能来运行测试和透析器。
EMQTT支持travis!
您可以派生它并在您的项目中启用travis。travis是一个测试平台,它将在每次更改后测试您的项目。
有关更多信息,请参阅travis docs
发布于 2017-09-25 14:26:48
经过几天的尝试,我发现了一种可以用Intellij Idea进行调试的方法,它并不像我想要的方法那样完美,但在某种程度上它是有帮助的,只是把它贴在这里供需要参考的人参考。
,则可能需要提供函数args
ps:这对用shell编译来说是相对多余的,但这是我发现的唯一可以工作的方法,如果没有提供beam文件,它总是会引发错误:“没有beam文件”。
如果有人有更好的方法,无论是回答这个问题还是发表评论,请给我一个帮助,谢谢!

发布于 2017-10-17 16:40:09
将源文件和工件放在一个目录中的解决方案似乎是使用Intellij调试器的唯一方法。由于源文件和工件通常不在同一目录中,因此这种行为似乎很奇怪。因此,我打开了一个问题(https://github.com/ignatov/intellij-erlang/issues/811)。
在How to debug erlang code during rebar3 eunit?中描述了一种使用rebar3和eunit的解决方案。通过使用erlang插件提供的对运行rebar3命令的支持,您可以在Intellij中将rebar3作为测试外壳启动。
https://stackoverflow.com/questions/44534080
复制相似问题