Amazon Best VPN GoSearch

OnWorks 网站图标

scan-build-3.8 - 云端在线

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

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

程序:

您的姓名


扫描构建 — Clang 静态分析器

概要


扫描构建 [-ohkvV[- 分析标题[-启用检查器 [检查者名称]]
[-禁用检查器 [检查者名称]][ - 帮帮我[--帮助检查器]
[--html-标题 [=标题]][- 继续[-plist[-plist-html[--状态错误]
[--使用-c++ [=编译器路径]][--使用-cc [=编译器路径]][- 看法]
[-约束 [模型]][-最大循环 N[-无故障报告[-统计]
[-商店 [模型]] 构建命令 [构建选项]

商品描述


扫描构建 是一个调用 Clang 静态分析器的 Perl 脚本。 使用的选项
扫描构建 或由分析器首先出现,然后是 构建命令 和任何
构建选项 通常用于构建目标系统。

静态分析器使用一长串检查算法,参见 CHECKERS. 输出可以
以标准 .plist 和/或 HTML 格式编写。

支持以下选项:

- 分析标题
还要分析#included 文件中的函数。

-启用检查器 检查者名称, -禁用检查器 检查者名称
启用/禁用 检查者名称。 看 CHECKERS.

-h, - 帮帮我
显示此消息。

--帮助检查器
列出默认检查器,请参阅 CHECKERS.

--html-标题[=标题]
指定在生成的 HTML 页面上使用的标题。 生成默认标题,如果
标题 未指定。

-k, - 继续
添加“继续前进”选项 构建命令. 目前支持 make 和
代码构建。 这是一个方便的选择; 可以直接指定此行为
使用构建选项。

-o HTML 报告文件的目标目录。 将根据需要创建子目录
代表分析器的单独调用。 如果未指定此选项,则
目录创建于 / tmp目录 (Mac OS X 上的 TMPDIR)来存储报告。

-plist 将结果输出为一组 .plist 文件。 (默认输出 扫描构建 is
一组 HTML 文件。)

-plist-html
将结果输出为一组 HTML 和 .plist 文件

--状态错误
如果发现潜在错误,则将退出状态设置为 1,否则设置为 0。 默认退出
状态 扫描构建 是由返回 构建命令.

--使用-c++[=编译器路径]
猜测 C++ 和 Objective-C++ 代码的默认编译器。 使用此选项可
指定备用编译器。

--使用-cc[=编译器路径]
猜猜您的 C 和 Objective-C 代码的默认编译器。 使用此选项可
指定备用编译器。

-v 详细输出来自 扫描构建 和分析仪。 第二个和第三个 v 增加
冗长。

-V, - 看法
构建完成后,在 Web 浏览器中查看分析结果。

-约束 [模型]
指定分析器使用的约束引擎。 默认情况下,“范围”模型是
用过的。 指定“基本”使用更简单、功能较弱的约束模型
checker-0.160 及更早版本。

-最大循环 N
指定在放弃之前可以访问块的次数。 默认值为 4。
以牺牲速度为代价增加更全面的覆盖范围。

-无故障报告
不要创建包含分析器崩溃报告和
预处理的源文件。

-统计 为正在分析的项目生成访问统计信息。

-商店 [模型]
指定分析器使用的商店模型。 默认情况下,“区域”商店模型
用来。 'region' 指定了一个字段敏感的商店模型。 用户也可以指定
'basic' 不那么精确,但可以更快地分析代码。 “基本”是
checker-0.221 及更早版本的默认商店模型。

退出 状态


扫描构建 返回由返回的值 构建命令 除非 --状态错误 or - 继续
用来。

CHECKERS


下面列出的检查器可以使用 -启用检查器
-禁用检查器 选项。 除非明确禁用,否则将运行默认的一组检查器。
究竟哪些检查器构成默认组是操作系统的功能
用; 他们列出了 --帮助检查器.

core.AdjustedReturnValue
检查函数调用的返回值是否与调用者不同
期望(例如,来自通过函数指针的调用)。

核心.AttributeNonNull
检查作为参数传递给函数的空指针,该函数的参数是
标有“非空”属性。

核心.CallAndMessage
检查函数调用和 Objective-C 消息表达式的逻辑错误
(例如,未初始化的参数、空函数指针)。

核心.除零
检查除以零。

核心.NullDereference
检查空指针的取消引用。

核心.StackAddressEscape
检查堆栈内存的地址是否没有转义函数。

core.UndefinedBinaryOperatorResult
检查二元运算符的未定义结果。

核心.VLASize
检查未定义或零大小的 VLA 声明。

core.builtin.BiltinFunctions
评估编译器内置函数,例如 阿洛卡()。

core.builtin.NoReturnFunctions
评估已知不会返回给调用者的“恐慌”函数。

core.uninitialized.ArraySubscript
检查用作数组下标的未初始化值。

核心.未初始化.分配
检查分配未初始化的值。

核心未初始化分支
检查用作分支条件的未初始化值。

core.uninitialized.CapturedBlockVariable
检查捕获未初始化值的块。

core.uninitialized.UndefReturn
检查返回给调用者的未初始化值。

deadcode.DeadStores
检查存储在变量中的值,这些值以后永远不会被读取。

调试.DumpCFG
显示控制流图。

调试.DumpCallGraph
显示调用图。

调试.DumpDominators
打印给定控制流图的优势树。

调试.DumpLiveVars
打印实时变量分析的结果。

调试.Stats
使用分析器统计信息发出警告。

调试.TaintTest
像这样标记受污染的符号。

调试.ViewCFG
查看控制流图使用 图形可视化.

调试.ViewCallGraph
查看调用图使用 图形可视化.

llvm.约定
检查 LLVM 代码库约定的代码。

osx.API 检查各种 Mac OS X API 的正确使用。

osx.AtomicCAS
评估调用 原子 功能。

osx.SecKeychainAPI
检查安全钥匙串 API 的正确使用。

osx.cocoa.AtSync
检查用作@synchronized 互斥锁的空指针。

osx.cocoa.ClassRelease
检查是否直接向类发送“保留”、“释放”或“自动释放”。

osx.cocoa.InknownMethodTypes
警告存在类型不兼容的 Objective-C 方法签名。

osx.cocoa.NSAutoreleasePool
警告次优使用 NS自动释放池 在 Objective-C GC 模式下。

osx.cocoa.NS错误
检查 NSError** 参数的使用。

osx.cocoa.NilArg
检查 Objective-C 方法调用中禁止的 nil 参数。

osx.cocoa.RetainCount
检查泄漏和不正确的引用计数管理。

osx.cocoa.SelfInit
检查“self”是否在初始化方法中正确初始化。

osx.cocoa.UnusedIvars
警告从未使用过的私有变量。

osx.cocoa.VariadicMethodTypes
检查是否将非 Objective-C 类型传递给仅期望的可变参数方法
Objective-C 类型。

osx.coreFoundation.CFError 错误
检查 CFErrorRef* 参数的使用。

osx.coreFoundation.CFNumber
检查是否正确使用 CF号码创建()。

osx.coreFoundation.CFRetainRelease
检查空参数 CF保留() CFR释放(), 和 CF制作收藏品()。

osx.coreFoundation.containers.OutOfBounds
使用时检查索引越界 数组 API。

osx.coreFoundation.containers.PointerSizedValues
警告如果 数组, 差价合约 是用非指针大小的值创建的。

安全.FloatLoopCounter
警告使用浮点值作为循环计数器(CERT:FLP30-C、FLP30-CPP)。

security.insecureAPI.UncheckedReturn
警告使用必须始终检查返回值的函数。

安全.insecureAPI.getpw
警告使用 获取密码()。

安全.insecureAPI.gets
警告使用 得到()。

安全.insecureAPI.mkstemp
警告何时 马克斯坦普() 在格式字符串中传递的 X 少于 6 个。

安全.insecureAPI.mktemp
警告使用 临时表()。

安全.insecureAPI.rand
警告使用 兰特() 随机() 及相关函数。

安全.insecureAPI.strcpy
警告使用 链表()和 ()。

安全.insecureAPI.vfork
警告使用 叉子()。

Unix.API
检查对各种 UNIX/Posix 函数的调用。

Unix.Malloc
检查内存泄漏、double free 和 use-after-free。

unix.cstring.BadSizeArg
检查传递给 C 字符串函数的 size 参数是否存在常见错误
图案。

unix.cstring.NullArg
检查作为参数传递给 C 字符串函数的空指针。


扫描构建 -o /tmp/myhtml目录 使 -j4

上面的例子导致分析报告被存放到一个子目录中
/tmp/myhtml目录 并运行 使-j4 选项。 创建了不同的子目录
粉末 扫描构建 分析一个项目。 分析器应该支持大多数并行构建,
但不是分布式构建。

作者


扫描构建 由泰德·克雷梅内克 (Ted Kremenek) 撰写。 提供的文档
詹姆斯·K·洛登[电子邮件保护]>.

使用 onworks.net 服务在线使用 scan-build-3.8


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




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