问题标签 [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 回答
6705 浏览

c - 触发 Clang 的静态分析器的示例代码

我希望看到一个小而完整的代码片段,它会导致 Clang 的静态分析器抱怨。我的动机主要是我试图让它在我的 PIC32 代码上工作,我需要一种方法来区分“所有代码都很好”和“它实际上什么也没做”。这也是部分好奇,因为我自己似乎无法想出一个简单的例子。

C89/ANSI 或 C99 很好,理想情况下我希望看到它能够解决简单的内存泄漏问题。我的用法是

0 投票
1 回答
455 浏览

iphone - Xcode 3.2.4 Analyzer 跳过了这个文件?

刚刚升级到 iOS 4.1 (Xcode 3.2.4) 我在使用静态分析器时收到警告,我认为以前在使用 3.2.3 时不会收到

替代文字

现在项目编译得很好,这是改变了还是我设置了错误?

注意:我将构建结果窗口设置为“所有消息”

编辑:

我认为这可能与此有关:

升级到 ios-4-1-sdk 后的奇怪问题

非常感激

加里

0 投票
3 回答
881 浏览

c# - 用于 C、C#、C++ 和 Java 的 C# 代码分析器。

请问是否有任何可用的工具可以解析我的源代码以枚举我的项目(C、C#、C++ 或 Java)的所有类和函数依赖项并将其保存为 doc、XML 或任何其他格式?谢谢你。

0 投票
1 回答
245 浏览

xcode - Core Data 产生分析器警告

我正在对应用程序进行最后的润色,并且我正在摆脱每个编译器/分析器警告。

我有一堆 Class 方法来包装我的应用程序对核心数据实体的访问。这是“挑衅”分析仪。

这会导致分析器警告:

具有 +0 保留计数的对象返回给调用者,其中预期 +1(拥有)保留计数

在调用上述类方法的方法中,我有这个:

这会导致分析器警告:

方法返回一个具有 +1 保留计数(拥有引用)的 Objective-C 对象

显式释放或自动释放 Core Data 实体通常非常非常糟糕,但这就是它要求我在这里做的吗?首先它告诉我它有一个 +0 保留计数,这很糟糕,然后它告诉我它有一个 +1,这也很糟糕。

What can I do to ensure that I am either dealing with a Analyzer hiccup or that I release correctly?

Thanks in advance

0 投票
1 回答
408 浏览

iphone - iPhone应用程序上的Clang静态分析器显示最新版本的错误

当我通过版本 252 检查器二进制文件运行我的代码时,没有分析错误。但是,当我更改为使用最新的 253 检查器时,它会返回大量错误,所有这些都没有任何意义。例如,以下是扫描构建脚本完成后在我的 Safari 浏览器中显示的错误图像:

Clang 静态分析器错误

这是一个非常常见的错误,显示在错误列表中。如您所见,方法名称的末尾有 Copy,但它仍然报告名称不正确。

以下是我现在使用检查器版本 253 遇到的错误细分:

自动释放错误似乎与分析器无法看到 Copy 方法实际上被正确命名的事实有关,我试图寻找无法访问代码的示例,但我真的找不到任何模式或解释这些错误,因为错误是简单 if 语句中的所有代码行。这是一个例子:

又一个 Clang 分析器错误

我想这可能是最新版本的检查器中引入的一些错误,导致这些错误显示为错误。还有什么我可能在这里遗漏的东西(某种构建设置或扫描构建脚本的问题)吗?

0 投票
1 回答
170 浏览

iphone - 静态分析仪说我有泄漏......为什么?

我认为这段代码应该没问题,但静态分析器不喜欢它。我不知道为什么,希望有人能帮助我理解。代码工作正常,分析器结果让我很烦。

Coin是一个泛型NSObject,它有一个 initalize 方法。myCoin是当前视图的属性,类型为Coin. 我假设它告诉我我正在泄漏tempCoin

在我看来,.h 我已将 myCoin 设置为具有非原子保留的属性。

我试图自动释放代码以及这个正常版本,但静态分析器继续说:
1.方法返回一个带有 +1 保留计数(拥有引用)的 Objective-C 对象
2.在第 97 行分配的对象不再在此之后引用并且保留计数为 +1(对象泄漏)

第 97 行是我展示的第一行。

0 投票
1 回答
486 浏览

cocoa - Telling Clang Static Analyzer about third-party libraries owning references

I maintain an Objective-C project which uses a C library that implements a garbage-collected scripting environment. In several cases, I need to put a retained Objective-C object in the private field of a scripting object. The Objective-C object is then released in a finalize callback.

The call to set the private value looks like this, with hopefully obvious semantics:

The finalize callback does this:

The Clang Static Analyzer has no objection to the random release in the finalize callback, but where the value is initially set it says “Potential leak of an object allocated on line N.”</p>

Is there an annotation or non-ugly pattern that would suppress this message? (I’d rather not be doing silly things like [object performSelector:@selector(retain)]. I’d also prefer not to mess with the header declaring JS_SetPrivate. Also note that the value given to JS_SetPrivate is an arbitrary pointer, not necessarily an Objective-C object.

0 投票
1 回答
98 浏览

ios - Xcode 静态分析器显示的困难

我正在使用 Xcode 的静态分析器来找出我的项目中的潜在泄漏,它工作得非常好。但是,有时即使在释放对象后分析仪也会显示潜在的泄漏。我发现很难理解这个结果。

0 投票
2 回答
511 浏览

iphone - 关于 Xcode 中构建和分析功能的任何好的教程?

我想知道有没有使用xcode build和anylyse工具的教程...

请向我提供指向它的链接。

谢谢你的帮助

0 投票
1 回答
409 浏览

c - Clang 用户文档

我不确定是在这里问还是在超级用户中问,但这个网站似乎更合适

我正在寻找专门针对这两个领域的 Clang 文档/分析: