问题标签 [clang-static-analyzer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

xcode - 当 Xcode 分析器发现问题但未在文件中显示它们时,如何找到解决方法?

我在使用 Xcode 4.5.2 的分析器时遇到问题。它能够发现问题:

在此处输入图像描述

但是,虽然问题显示在顶部栏: 在此处输入图像描述中,但问题并未显示在文件编辑器中。没有这些信息,就没有实际的方法可以知道分析器在说什么。

是否有一个日志文件可以在其中找到检测到的问题的行号?还有其他解决方法或设置调整吗?

0 投票
1 回答
327 浏览

clang-static-analyzer - 如何通过 llvm 生成人类可读的中间代码

我想使用 clang 以人类可读的形式打印出抽象语法树,不想要二进制字节码。

我用过:

  1. ast打印
  2. 转储

但他们提供不可读的代码..

有人能帮忙吗?

0 投票
1 回答
3192 浏览

xcode - 从 Xcode 的内置静态分析中获取 HTML 输出

当我在 Xcode 中使用 Build & Analyze 选项时,我看到一个非常有用的可视化输出集成到 IDE 中,显示代码路径、内存泄漏、死存储等。

在 Xcode 中有一个构建设置,允许您在每个构建过程中运行静态分析器(clang)。但是当我这样做时,输出是在构建文件夹中的普通 plist 文件中。

有没有办法从这些 plist 文件中生成人类可见的 HTML 输出?

0 投票
1 回答
901 浏览

objective-c - Clang 静态分析器警告“调用 CFRelease 时出现空指针参数”

在 Xcode 4.6 中,clang 静态分析器警告我“调用 CFRelease 时出现空指针参数”。

这是分析器警告的屏幕截图:

Clang 静态分析器警告

这是您想要复制和粘贴的代码:

我不明白它为什么警告我。aUUID永远不能是空指针,可以吗?我已经学会了不信任自己而不是我正在使用的工具,所以我在这里问。如果有人向我解释我所缺少的,我会很高兴。

0 投票
2 回答
3282 浏览

ios - '-' 的右操作数是垃圾值

我第一次使用静态分析器并且很难找出箭头。在查看了一些关于 SO 的类似问题后,我认为问题在于 CGSize 大小为 nil 值,但我不完全确定它是如何工作的。

这是代码:

在此处输入图像描述

0 投票
2 回答
175 浏览

ios - ios/objective c中的内存泄漏问题

我正在开发 ios 应用程序,现在想测试它是否存在内存泄漏,我使用了

clang 静态分析器

它给了我这个错误报告

分析器提供的信息是 我现在做什么???

还有一件事对于我的应用程序的内存管理是否足够????
或者我必须做更多的任务???
感谢您的回复

0 投票
2 回答
546 浏览

xcode - “滥用钥匙串服务 API”分析发现了哪些类型的错误?

Xcode 4.6 有一个标记为“Misuse of Keychain Services API”的构建设置,也就是CLANG_ANALYZER_SECURITY_KEYCHAIN_API. 快速帮助没有帮助:

检查钥匙串服务 API 的滥用。

那么,Clang 静态分析器在打开时会寻找什么样的“误用”?

0 投票
2 回答
1614 浏览

objective-c - 为什么我必须在 __bridge_transfer 之后调用 CFRelease?

当我分析它说潜在的内存泄漏。

让我试着理解。refAllPeople 有 1 个参考计数。

然后我做_bridge_transfer。这将所有权转移给了我。更准确地说,它有 arPeople 指向它并将保留计数加 1。然后保留计数减 1,因为_bridge _transfer等价于 (__bridge) 后跟 CFRelease。

所以,

为什么内存泄漏投诉?

0 投票
1 回答
168 浏览

objective-c - 一个明显的泄漏,但是静态分析仪没有检测到,为什么?

我写了一些这样的代码,

我忘记释放keyArray,并且使用非ARC,但是当我点击Xcode菜单上的“分析”时,它没有检测到keyArray的泄漏。

如果我注释“NSArray *sortedKeys = ...”这一行,它可以检测到keyArray的泄漏。

我想知道静态分析器有什么问题。

我真的很感谢你的帮助。

0 投票
1 回答
308 浏览

c - Clang Analyzer 误报或溢出?

下面是我们的一些代码的简化,它似乎展示了 clang 分析器中的一个错误,尽管我们的代码中可能存在一个真正的错误。

如评论中所述,该错误仅在枚举开始于 0x8000 范围内时发生,如果它不是无符号的,这将是符号位。我们是否有可能在 switch 语句中以某种方式隐式转换为有符号的 16 位整数?还是 Clang 糊涂了?

当然,这个例子可能会被重构以实现等效的行为,但它所基于的原始代码是 20 多年前的代码,不值得仅仅为了满足错误的分析器警告而重写。

编辑:我在下面添加了由 test_UTIL() 函数生成的程序集。我无法阅读足够多的汇编来发现这里的问题,尽管其他人可能对此感兴趣: