[英]clang static analyzer questions
我對做決定感到困惑。 例如,當我像這樣編寫代碼“test.c”時。 然后,我輸入了命令clang --analyze test.c然后語句warning: Division by zero [core.DivideZero]" appeared 之后,我輸入了命令clang test.c 。 然后沒 ...
[英]clang static analyzer questions
我對做決定感到困惑。 例如,當我像這樣編寫代碼“test.c”時。 然后,我輸入了命令clang --analyze test.c然后語句warning: Division by zero [core.DivideZero]" appeared 之后,我輸入了命令clang test.c 。 然后沒 ...
[英]How do I register my Clang Static Analyzer checker
我完全知道這個問題有以前的答案。 但是,這些答案是舊的,並沒有反映當前代碼庫中發生的事情。 我已按照本指南中的步驟開發檢查器、將其注冊到引擎並進行測試。 經過一些工作后,我能夠編譯代碼,但是在運行clang -cc1 -analyzer-checker-help時,我的檢查器不可見。 我注意到很多跳 ...
[英]How to enable clang static analyzer flags from clang-tidy for alpha (experimental) checkers?
我正在嘗試通過其 clang-tidy 界面運行 clang 分析器,但我需要向 clang 分析器傳遞一個附加標志。 具體來說,我想為不確定性運行 alpha 檢查器 但它給了我錯誤: error: checker cannot be enabled with analyzer option ' ...
[英]Is there a way for me to help Clang Static Analyzer understand global constant objects?
背景:由於原因,我的代碼喜歡以(非常輕量級的)類對象的形式從其函數返回成功/錯誤代碼值。 這工作正常,但是我很難讓 Clang Static 分析器了解發生了什么; 它的混亂導致它在分析我的程序時發出虛假的“未初始化值”警告。 這里有一些最小的示例代碼來說明/重現(錯誤)行為: // my_st ...
[英]Can "unspecified order of evaluation" be detected with static analysis?
對於我的大多數 C++ 項目,我強烈依賴 static 分析來防止容易出錯的代碼進入主分支。 但是,似乎沒有檢測到由未指定的評估順序引起的錯誤。 雖然一些工具可能會發現像foo(++i, --i)這樣的可疑代碼,但它們似乎都沒有發現這里的問題:std::map<int, int> m; ...
[英]How to use Xcode static analyzer command line to generate an HTML report of warnings?
我安裝了 llvm 並使用scan-build靜態分析了一個非常簡單的演示項目。 在這個項目中,我故意創建了一個保留周期,Xcode 可以立即在編輯器中顯示保留周期警告。 但是,如果我切換到使用下面的scan-build命令行工具,它會說沒有發現任何錯誤並且最終沒有生成報告。 這是保留周期代碼片段 ...
[英]How much can we trust to warnings generated by static analysis tools for vulnerablity detection?
我在一組用 C/C++ 編寫的庫上運行故障查找器。 我有很多由漏洞發現者生成的警告。 我的問題是,我可以在多大程度上依賴這些生成的警告? 例如,考慮 numpy 庫 ( https://github.com/numpy/numpy/blob/4ada0641ed1a50a2473f8061f4808 ...
[英]Potential memory leak if a tuple of a unique pointer is captured in lambda
clang-tidy和scan-build警告此代碼中可能存在內存泄漏: #include <tuple> #include <memory> int main() { auto lambda = [tuple = std::make_tuple(std::mak ...
[英]Can scan-build or Clang static analyzer discover problems at link time?
在重新審視我編寫的一些代碼時,我注意到測試腳本中的構建命令沒有正確調用scan-build命令。 修訂版的形成已經准備就緒,但我對scan-build的能力和 Clang static 分析器有一些疑問。 分析器能否在鏈接時發現錯誤? 怎么做? 例如,在單個源文件中,很容易發現 memory 分配 ...
[英]Does clang static analyzer core support multi-threaded programs?
在觀察多線程編程構造時,無法找到有關 clang static 分析器核心行為的任何文檔。 核心是否識別它們並為每個線程創建單獨的路徑? ...
[英]Can a constructor affect other fields of an enclosing object, or is this a static analysis false positive?
考慮這個 C++ 代碼: 當我運行clang --analyze -Xanalyzer -analyzer-output=text時,我得到了這個: 不過,取消注釋SomeStruct的構造函數的定義會使警告 go 消失。 調換const bool b; 和const SomeStruct s; ...
[英]Clang static analyzer (clazy) ignores NOLINT and similar meta instructions in Qt code
我需要關閉一些警告,即我使用的某些 Qt 代碼中的 Clang static 分析器(瘋狂)標記。 將 '// NOLINT' 作為注釋附加到被 clazy 標記的代碼行不起作用,顯然是因為 Qt 在 clazy 看到它之前被轉換為 C++ 代碼,省去了所有注釋和 pragma。 附加 '// cl ...
[英]clang-analyzer: scan-build ./configure fails looking for pthread support: "_REENTRANT must be defined"
我正在使用 pthreads 並且我的掃描構建操作失敗: https://github.com/SentryPeer/SentryPeer/runs/5034401493?check_suite_focus=true 我看到這個: 和 版本:clang-analyzer-13.0.0-3.fc3 ...
[英]Writing a specific Clang-tidy check to avoid passing an expression into std::vector::reserve()
在我們的代碼庫中,我們總是使用std::vector::reserve()來實現更高的性能。 大多數時候他們工作得很好。 此外,有時我們可能會將表達式傳遞給reserve() function。 例如, 但是,由於一些算法錯誤, length可能是negative number ,不運行程序幾乎不 ...
[英]Why can "-Wobjc-literal-conversion" be ignored by the preprocessor?
我的項目中有一個小錯誤,可能與-Wobjc-literal-conversion相關。 有一個 Swift class 稍后在 ObjcC 代碼中調用: 然后在 Objc 代碼的某處有一個這樣的錯誤: 這里, @NO是一個String類型的字面量。 似乎文字被轉換為true 。 所以我們有一個錯誤 ...
[英]Does clang-tidy make scan-build redundant?
我有一個項目,目前同時使用 scan-build 和 clang-tidy(通過 CMake 啟用)。 如果我在我的一組 clang-tidy 檢查中啟用了clang-analyzer-* ,那么使用 scan-build 是多余的嗎? 作為參考,這里有一個類似的問題,關於 clang-tidy ...
[英]scan-build not working reporting "Removing directory xxx because it contains no report."
簡單的錯誤代碼文件 你好ç 使用 gcc 運行命令和結果 鏗鏘 我不明白警告是生成的(可能是編譯器?),但為什么掃描構建不起作用? **** 2021 年 6 月 30 日更新 我按照本教程進行操作,最終得到了 scan-build 的“python”版本,這是一個誤解,答案完美 ...
[英]Using #pragma to remove clang warnings based on clang check
我想刪除/忽略代碼塊的叮當警告,並找到了如何為此使用 pragamas 的多個示例。 例如,如果警告是unused-variable您可以使用以下命令禁用它: 然而,問題是我在構建存儲庫時沒有在輸出中收到警告,我只知道是哪個叮當檢查發出警告......而且我找不到任何其他問題或文檔,這是案件。 ...
[英]modulo size_t yields “The result of expression ' ' is undefined”
在 64 位系統上,當使用模運算符和 size_t 類型時,我從 clang 分析器收到以下警告: 完整的跟蹤 hash function的結果有size_t,桶數也是size_t。 最終這轉化為無符號長。 AFAIK 結果不能為負,我檢查了桶數是否為零。 hash function 可能會溢 ...
[英]Matching variadic template arguments using an AST Matcher
我有以下示例代碼。 當我通過clang-check -ast-dump運行它時,我得到以下樹。 我想為第一種情況編寫一個匹配器,其中 function 的 arguments 之一是可變參數。 從AST Matcher Reference ,我發現有一個isVariadic匹配器,盡管正如文檔所說 ...