Erlang:在整个应用程序上运行透析器

时间:2017-04-04 20:27:45

标签: erlang

我有一个标准目录设置的OTP应用程序:

config/
log/
doc/
src/
_build/
rebar.config

我可以在像dialyzer src/source_name.erl这样的src文件上运行透析器。但这有点无用,因为src/foo1中的函数X可能会调用src/foo2中的函数Y,并且您希望确保X将正确类型的参数传递给Y.

如何使用透析器检查/src个回购中的函数调用之间的所有交互?

2 个答案:

答案 0 :(得分:1)

好的,我找到的解决方案是:

  1. 使用+ debug_info编译
  2. 直接递归分析beam目录而不是src
  3. 编译命令后

    dialyzer -r _build/default/lib/myappname/ebin/
    

答案 1 :(得分:0)

你也可以试试这个:

dialyzer --src -r .

或者这个:

dialyzer --src -r src

以递归方式分析当前目录或src目录的源代码