GoGPT Best VPN GoSearch

OnWorks 网站图标

透析器 - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行dialyzer

这是命令透析器,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


透析器 - 透析器,用于 ERlang 程序的差异分析器

商品描述


Dialyzer 是一种静态分析工具,可识别软件差异,例如
确定的类型错误,由于某些编程而死掉或无法访问的代码
单个 Erlang 模块或整个(组)应用程序中的错误、不必要的测试等。
Dialyzer 从调试编译的 BEAM 字节码或 Erlang 开始分析
源代码。 差异的文件和行号与
指示差异的内容。 透析器的分析基于
允许声音警告的成功类型(无误报)。

阅读有关 Dialyzer 以及如何从 GUI 中使用它的更多信息 透析仪 用户的 产品指南.

使用 透析器 指挥 LINE


Dialyzer 也有一个用于自动使用的命令行版本。 以下是简要说明
其选项列表。 可以通过写入获得相同的信息

透析器 --help

在一个壳里。 有关操作的更多详细信息,请参阅 GUI 说明
透析器。

命令行版本的退出状态为:

0 - 分析过程中没有遇到任何问题,也没有
发出警告。
1 - 分析过程中遇到问题。
2 - 没有遇到问题,但发出警告。

用法:

透析器 [--help] [--version] [--shell] [--quiet] [--verbose]
[-pa 目录]* [--plt plt] [--plts plt*] [-Ddefine]*
[-I include_dir]* [--output_plt 文件] [-Wwarn]* [--raw]
[--src] [--gui] [files_or_dirs] [-r 目录]
[--apps 应用程序] [-o outfile]
[--build_plt] [--add_to_plt] [--remove_from_plt]
[--check_plt] [--no_check_plt] [--plt_info] [--get_warnings]
[--dump_callgraph 文件] [--no_native] [--fullpath]
[--统计] [--no_native_cache]

选项:

文件或目录 (为了向后兼容也为: -c 文件或目录):
从命令行使用 Dialyzer 检测指定文件中的缺陷或
目录包含 .erl or 。光束 文件,取决于分析的类型。

-r 迪尔斯:
与前一个相同,但递归搜索指定的目录
子目录包含 .erl or 。光束 其中的文件,取决于类型
分析。

- 应用 应用:
构建或修改 plt 时通常使用的选项,如下所示:

透析器 --build_plt --apps erts 内核 stdlib mnesia ...

透析器 --apps inets ssl ./ebin ../other_lib/ebin/my_module.beam

-o 输出文件 (或 - 输出 输出文件):
从命令行使用 Dialyzer 时,将分析结果发送到指定的
outfile 而不是 stdout。

- 生的:
从命令行使用 Dialyzer 时,输出原始分析结果(Erlang
条款)而不是格式化的结果。 原始格式更容易后处理(对于
例如,过滤警告或输出 HTML 页面)。

--src:
覆盖默认,即分析BEAM文件,从Erlang开始分析
源代码代替。

-名称 (或 -Dname=值):
从源分析时,将定义传递给 Dialyzer。 (**)

-I 包含目录:
从源头分析时,通过 包含目录 到透析器。 (**)

-pa DIR:
包括 DIR 在 Erlang 的路径中(在分析具有
'-include_lib()' 指令)。

--输出_plt 文件:
构建后将 plt 存储在指定的文件中。

--plt PLT:
使用指定的 plt 作为初始 plt(如果 plt 是在设置文件期间构建的
将检查一致性)。

--plts 血小板*:
合并指定的 plts 以创建初始 plt -- 要求 plts 是
不相交(即,没有任何模块出现在一个以上的 plt 中)。 这些 plts 是
以通常的方式创建:

透析器 --build_plt --output_plt plt_1 files_to_include
...
透析器 --build_plt --output_plt plt_n files_to_include

透析器 files_to_analyze --plts plt_1 ... plt_n

透析器 --plts plt_1 ... plt_n -- files_to_analyze

-警告:
有选择地打开/关闭警告的一系列选项(有关名称的帮助)
警告使用 透析器 -仔)。 请注意,选项也可以在文件中给出
-透析器() 属性。 看 正在请求 or 压制 </p> in 来源
详情请见下文。

- 贝壳:
不要在运行 GUI 时禁用 Erlang shell。

- 版 (或 -v):
打印 Dialyzer 版本和更多信息并退出。

- 帮帮我 (或 -h):
打印此消息并退出。

- 安静的 (或 -q):
让透析器安静一点。

--详细:
使 Dialyzer 更加冗长。

- 统计数据:
打印有关执行进度的信息(分析阶段、在
每个和相对输入的大小)。

--build_plt:
分析从一个空的 plt 开始,并从指定的文件中创建一个新的 plt
- -c-r. 仅适用于梁文件。 用 --plt or --输出_plt 覆盖
默认 plt 位置。

--add_to_plt:
plt 扩展为还包括指定的文件 -c-r。 使用 --plt
指定从哪个 plt 开始,以及 --输出_plt 指定放置 plt 的位置。
请注意,分析可能包括来自 plt 的文件,如果它们依赖于新的
文件。 此选项仅适用于梁文件。

--从_plt 中删除:
来自指定文件的信息 -c-r 从 plt 中删除。 笔记
这可能会导致对剩余相关文件的重新分析。

--check_plt:
检查 plt 的一致性,如果它不是最新的,则重建它。

--no_check_plt:
运行 Dialyzer 时跳过 plt 检查。 使用已安装的 plts 时很有用
从不改变。

--plt_信息:
使 Dialyzer 打印有关 plt 的信息,然后退出。 可以指定 plt
- --plt(s).

--获取警告:
即使在操作 plt 时,也使 Dialyzer 发出警告。 仅发出警告
对于实际分析的文件。

--dump_callgraph 文件:
将调用图转储到指定的文件中,其格式由文件决定
扩展名。 支持的扩展名有:raw、dot 和 ps。 如果使用其他东西
作为文件扩展名,将使用默认格式“.raw”。

--no_native (或 -nn):
绕过 Dialyzer 启发式的一些关键文件的原生代码编译
在透析多个文件时执行; 这避免了编译时间,但可能会导致
在(远)更长的分析时间内。

--no_native_cache:
默认情况下,Dialyzer 将本地编译的结果缓存在
$XDG_CACHE_HOME/erlang/dialyzer_hipe_cache 目录。 XDG_CACHE_HOME 默认为
$HOME/.cache. 使用此选项可禁用缓存。

- 完整路径:
显示发出警告的文件的完整路径名。

--gui:
使用图形用户界面。

请注意:
* 表示这些选项可能多次出现。

** 选项 -D-I 在命令行和 Dialyzer GUI 中均可使用; 的语法
定义和包含与所使用的相同 埃里克.

警告选项:

-Wno_return:
禁止对永远不会返回值的函数发出警告。

-Wno_未使用:
抑制未使用函数的警告。

-Wno_improper_lists:
禁止对构建不当列表的警告。

-Wno_fun_app:
抑制将失败的有趣应用程序的警告。

-Wno_match:
禁止对未使用或无法匹配的模式发出警告。

-Wno_不透明:
禁止对违反数据类型不透明性的警告。

-Wno_fail_call:
抑制失败调用的警告。

-Wno_contracts:
禁止有关无效合同的警告。

-Wno_behaviours:
抑制有关偏离已发布推荐的行为回调的警告
接口。

-Wno_missing_calls:
抑制有关调用缺失函数的警告。

-Wno_undefined_callbacks:
抑制有关没有的行为的警告 -打回来 他们的属性
回调。

-Wunmatched_returns***:
包括对忽略结构化返回值或不忽略结构化返回值的函数调用的警告
匹配许多可能的返回值之一。

-Werror_处理***:
包括仅通过异常返回的函数的警告。

-Wrace_条件***:
包括对可能的竞争条件的警告。 注意发现数据的分析
Races 执行程序内数据流分析,有时会及时爆发。
启用它需要您自担风险。

-奇妙规格***:
警告未指定的函数(-spec 比
成功打字)。

-未知***:
让关于未知函数和类型的警告影响命令的退出状态
线版。 默认是在以下情况下忽略有关未知函数和类型的警告
设置退出状态。 使用 Erlang 的 Dialyzer 时,有关未知的警告
返回函数和类型; 默认情况下不返回这些警告。

以下选项也可用,但不建议使用它们:(它们是
主要用于 Dialyzer 开发人员和内部调试)

-Wover规格***:
警告过度指定的函数(-spec 严格小于
成功打字)。

-Wspec差异***:
当 -spec 与成功类型不同时发出警告。

请注意:
*** 标识打开警告而不是关闭警告的选项。

使用 透析器 二郎


你也可以直接从 Erlang 使用 Dialyzer。 GUI 和命令行版本
可用。 选项与命令行给出的选项类似,所以请
有关这些内容的说明,请参阅上述部分。

请求 OR 压制 警告 IN FILES


这个 -透析器() 属性可用于通过指定关闭模块中的警告
功能或警告选项。 例如,关闭函数的所有警告 F / 0,
包括以下行:

-dialyzer({nowarn_function, f/0})。

要关闭不正确列表的警告,请将以下行添加到源文件中:

-透析器(no_improper_lists)。

这个 -透析器() 在函数声明之后允许使用属性。 警告选项列表
或允许函数:

-dialyzer([{nowarn_function, [f/0]}, no_improper_lists])。

警告选项可以限制为以下功能:

-dialyzer({no_improper_lists, g/0})。

-dialyzer({[no_return, no_match], [g/0, h/0]})。

有关警告选项的帮助,请使用 透析器 -仔. 选项也被枚举 如下。
(警告选项).

请注意:
这个 -透析器() 属性不是由 Erlang 编译器检查,而是由 Dialyzer 检查
本身。

请注意:
警告选项 -Wrace_条件 在源文件中设置时无效。

这个 -透析器() 属性也可用于打开警告。 例如,如果一个
模块已修复不匹配的回报,添加了行

-dialyzer(unmatched_returns)。

可以帮助确保不会引入新的不匹配的返回警告。

出口


图形用户界面() -> ok | {错误, 留言}
gui(选项列表) -> ok | {错误, 留言}

类型:

OptList——见下文

透析器 GUI 版本。

选项列表:: [选项]
选项 :: {files, [文件名 :: string()]}
| {files_rec, [目录名 :: string()]}
| {定义,[{宏::原子(),值::术语()}]}
| {来自,src_code | byte_code} %% 默认为 byte_code
| {init_plt, FileName :: string()} %% 如果从默认值改变
| {plts, [FileName :: string()]} %% 如果从默认值改变
| {include_dirs, [目录名 :: string()]}
| {输出文件,文件名::字符串()}
| {output_plt, 文件名 :: string()}
| {check_plt, 布尔值()},
| {analysis_type, 'succ_typings' |
'plt_add' |
'plt_build' |
'plt_check' |
'plt_remove'}
| {警告,[WarnOpts]}
| {get_warnings,布尔()}

警告选项:: no_return
| 没有_未使用
| 没有不正确的列表
| 无趣应用程序
| 不匹配
| 不透明
| 无失败呼叫
| 无合同
| 无行为
| 没有未定义的回调
| 不匹配_返回
| 错误处理
| 比赛条件
| 超规格
| 规格不足
| 规格
| 未知

运行(选项列表) -> </p>

类型:

选项列表——见 gui/0,1
警告——见下文

透析器命令行版本。

警告 :: [{Tag, Id, Msg}]
标签 :: 'warn_behaviour'
| 'warn_bin_construction'
| 'warn_callgraph'
| 'warn_contract_not_equal'
| 'warn_contract_range'
| 'warn_contract_subtype'
| 'warn_contract_supertype'
| 'warn_contract_syntax'
| 'warn_contract_types'
| 'warn_failing_call'
| 'warn_fun_app'
| '警告匹配'
| 'warn_non_proper_list'
| 'warn_not_call'
| '警告不透明'
| 'warn_race_condition'
| 'warn_return_no_exit'
| 'warn_return_only_exit'
| 'warn_umatched_return'
| 'warn_undefined_callbacks'
| 'warn_unknown'
Id = {文件::字符串(),行::整数()}
msg = msg() -- 未定义

格式警告(消息) -> 细绳()

类型:

Msg = {Tag, Id, msg()} -- 见 run/1

从dialyzer:run/1 返回的警告中获取字符串。

plt_info(字符串()) -> {'好的', [{原子(), 任何()}]} | {'错误', 原子()}

返回有关指定 plt 的信息。

使用 onworks.net 服务在线使用透析器


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。