我想学习一个用作消息代理的开源软件(EMQTT https://github.com/emqtt/emqttd),但是当我尝试更改某些代码并跟踪消息如何在其中流动时,会出现Intellij的问题。想法似乎只能一次调试一个Erlang函数或一个模块。有没有什么方法可以调试整个项目并使用断点跟踪它而不是逐个调试它们?
答案 0 :(得分:0)
Intellij将螺纹钢用作项目经理。 螺纹钢已被弃用,rebar3(螺纹钢的新版本)具有高级功能。
您可以使用rebar3及其高级功能来运行测试&透析器。
EMQTT支持travis!
您可以将其分叉并在项目中启用travis。
travis是一个测试平台,将在每次更改后测试您的项目
有关详细信息,请参阅travis docs
答案 1 :(得分:0)
经过几天的尝试,我找到了一个可以用Intellij Idea调试的方法,它不像我想要的方法那样完美,但它在某种程度上有所帮助,只需在此处发布有人需要参考。
答案 2 :(得分:0)
您在一个目录中拥有源文件和假象的解决方案似乎是使用Intellij调试器的唯一方法。由于源文件和人工制品通常不在同一目录中,因此这种行为似乎很奇怪。因此我打开了一个问题(https://github.com/ignatov/intellij-erlang/issues/811)。
在How to debug erlang code during rebar3 eunit?中描述了与rebar3和eunit一起使用的解决方案。您可以使用对运行erlang插件提供的rebar3命令的支持,在Intellij中将rebar3作为测试shell启动。