一、构建PLT文件:
新构建
dialyzer --build_plt --apps $(APPS)
--apps参数对命令指定的应用构建PLT,缺省的PLT文件是~/.dialyzer_plt文件
如果要生成自己的plt文件,使用--output参数指定
dialyzer --build_plt --apps $(APPS) --output_plt my_abc.plt
一个例子:
dialyzer --build_plt --output_plt ~/.my_abc.plt --apps kernel stdlib sasl erts ssl tools os_mon runtime_tools c
rypto inets xmerl webtool snmp public_key mnesia eunit
添加内容
例如给已有的plt添加xmerl应用:
dialyzer --add_to_plt --apps xmerl
二、分析程序
既可以分析erl源代码,也可以对编译好的beam文件进行分析
例如对ebin下编译好的beam程序进行分析的例子:
dialyzer --plts *.plt ~/.dialyzer_plt -- ebin
参考:
http://learnyousomeerlang.com/dialyzer
分享到:
相关推荐
Dialyxir:混合任务以简化Elixir项目中Dialyzer的使用
Dialyzex:一个Mix任务,用于使用Dialyzer对Elixir项目进行类型检查
长生不老日记 创建并列出日记笔记 :pushpin: 目录 :construction_worker: 安装 确保已安装 。 如果您使用的是Mac,只需运行brew...使用mix credo和mix dialyzer Lint代码 :bug: 问题 随时在存储库中提交带有相应标题
埃克西西基于Elixir语言服务器扩展,用于 。... 它在.elixir_ls/dialyzer_manifest维护一个“清单”文件, .elixir_ls/dialyzer_manifest文件存储分析结果。 您可以使用coc-setting.json的elixirLS.dialyzerWarnO
建造您可以使用以下方法构建库: make build测试您可以使用以下命令执行测试套件: make dialyzer test您可以使用以下方法生成测试覆盖率: make cover文献资料手册可。接触如果您发现错误或有任何疑问,请随时打开...
此函数是使用固定数量的参数对apply进行的简化,因此它可以在内部使用erlang:apply 。 eplugin : apply ( my_fancy_callback , [ 1 , 2 , 3 ]) =:= eplugin : call ( my_fancy_callback , 1 , 2 , 3 ).
Erlang随机数兼容性库 ... 避免运行时生成的模块还具有不向Dialyzer隐藏代码的好处。 使用 首先,我们需要生成并加载模块: {ok, rnd} = rand_compat:init(). 或者,您可以指定生成的模块的名称,如下所示: {ok, s
此命令将创建数据库,进行Dialyzer的前工作(如果项目已安装 ),以及进行其他所有操作。 开发人员友好的设置:装入源代码,以便容器中的更改出现在主机上,反之亦然。 快速重建,因为编写了Dockerfile来帮助Docker...
(荷马·辛普森一家)建造$ rebar3 compile测试$ rebar3 test使用将插件添加到您的钢筋配置中: { project_plugins , [ rebar3_hank ]} 然后只需直接在现有应用程序中调用插件即可: $ rebar3 hank # or…$ rebar3 ...
支持的OTP版本如何建造编译: make 构建文档: make edoc 运行测试套件: make tests tests-real tests-unit变为make tests tests-real tests-unit 运行透析仪: make dialyzer 运行猫王: make lint 检查代码覆盖率...
入门发展历程运行测试mix tests 运行透析器mix dialyzer 生成和查看文档mix docs && open doc/index.html 在本地运行应用mix do deps.get, compile(cd apps/exile_web/assets && npm install)iex -S mix phx....
parallel ([ mix ( " dialyzer " ), mix ( " test " ), mix ( " format --check-formatted " ), mix ( " docs " , env: [ mix_env: " dev " ]) ]) ]), timeout: :timer . minutes ( 10 ))|> report_errors
{ alias , [ { renamed , [ " help " ]}, { cleanall , [ " clean " , " -a " ]}, { testall , [ " do " , " ct, " , " eunit, " , " cover " ]}, { validate , [ " do " , " ct, " , " eunit, " , " dialyzer " ]}...
Web功能的有用实用程序:使用基本身份验证,使用规范主机等。 报告错误 干净有用的README.md模板(和) 用法 使用GitHub模板 单击按钮创建一个新的存储库 克隆您新创建的项目( git clone ...
特征: 将项目构建为Docker容器,如果测试通过,则将其自动推送到dockerhub 在您的项目上运行Dialyzer 缓存构建环境和容器层可加快构建时间。如何在您的项目中进行操作: 将scripts / ci文件夹circle.yml和...
根据Dialyzer推断的成功类型自动建议@spec批注 内联报告构建警告和错误(需要Elixir> = 1.7) 代码完成 智能自动关闭代码块 悬停文档查找 转到定义 代码格式化程序(需要Elixir> = 1.7。由Alt + Shift + F热键触发...
运行Dialyzer测试(单个模块) 轻松转到项目的任何导出功能 从文本编辑器访问手册页 全部在您的测试编辑器中。 可以在看到简短的功能介绍视频: 屏幕截图 这是SublimErl的代码完成功能的屏幕截图: 这是...
透析仪: rebar3 dialyzer 如果您没有rebar3 ,那么应该得到它。 如果您不想这样做,它会作为“ make all一部分下载 快速开始 为用户提供了模板,可快速轻松地创建一个新的webmachine应用程序
使Dialyzer开心起来从未如此简单。 猫王诊断 在线显示风格的建议。 不再有同事挑剔的评论! 埃多克 将鼠标悬停在本地或远程功能上以查看其edoc 。 当edocs不可用时,您会非常想念此功能,您将开始编写它们! 导航
-dialyzer([no_behaviours]). %%%=================================================================== %%% callbacks %%%=================================================================== -spec ...