dailyzer工具

本文主要介绍dialyzer工具的使用。
Dialyzer 是一个静态分析工具,可以帮忙我们分析出代码中潜在的类型错误、函数、if case分支是否可达 等问题。我们可以在开发价段就检测出潜在错误,减少运行时错误。

运行dialyzer时,需先构建好dialyzer模板。linux下,直接执行下面语句即可生成 .dialyzer_plt

1_dialyzer

这时会在当前用户的home目录下生成.dialyzer_plt文件。apps后面的应用可以根据需要添加,也可以通过add_to_plt选项加入新的应用,如:

生成dialyzer_plt后,我们就可以对代码进行分析了
如下面的代码(一个很简单的例子,只是为了说明dialyzer应用): add.erl

erlc +debug add.erl

用dialyzer分析
dialyzer –plt .dialyzer_plt -Werror_handling -r ./

2_dialyzer_error

dialyzer找出了代码中的错误码,加入sum/3导出后,分析通过

3_dialyzer_success

windows下需要设置环境变量,否则会报下面的错误:
The HOME environment variable needs to be set so that Dialyzer knows where to find the default PLT

4_QQ截图20131209202815

查看源码:

5_QQ截图20131209202927
$OTP_PATH/lib/dialyzer/src/dialyzer_options.erl,如果没设置DIALYZER_PLT或HOME环境变量,则会报上面的错误,windows下,先加设置环境变量DIALYZER_PLT即可生成模板(生成模板前需要建立一个空的.dailyzer_plt文件)。

具体用法可参考:http://www.erlang.org/doc/man/dialyzer.html

Erlang技术分享内容均为原创,转载请标明本文地址
本文链接:http://www.kongqingquan.com/archives/122

此条目发表在Erlang分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">