C++ 代码 - Coverity(或其他一些静态代码分析器)+线程安全

标签 c++ multithreading static-analysis coverity

<分区>

我今天想知道以下问题:是否有任何工具或扩展(用于覆盖或其他代码分析器),我可以在哪里执行以下操作?:

  • 首先,我会设置一组规则,即哪些代码正在生成新线程,以便分析器知道该代码将运行其他线程。
  • 工具必须遵循,哪些代码部分在哪些线程中,它们是在同一个线程中,还是在不同的线程中。
  • 我可以设置“规则”,什么样的代码可以确保线程安全:例如 MYLOCK 类在线程之间锁定。
  • 前 3 个原因:该工具应该向我显示警告,哪些代码最有可能被不同的线程调用并且其中没有线程安全用法。

谢谢

最佳答案

试试 Intel Inspector(也称为线程检查器)。是动态分析,不是静态的。据我所知,它允许对自定义锁、一般的线程库进行一些注释/检测。

关于C++ 代码 - Coverity(或其他一些静态代码分析器)+线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259720/

相关文章:

c++ - 如何在 CMake 目标上请求 C++11 或更高版本?

c++ - 有没有比 vector< vector< T>> 更自然的方式来表示 T 的矩阵?

static-analysis - 静态分析 : sound vs unsound

c++ - 当我使用指向成员的指针调用成员函数时出现段错误

c++ - 如何通过 Makefile 将 cap_net_raw 功能添加到 Linux 上的 C++ 可执行文件

python - python 中哪些变量是在进程之间共享的而不是共享的?

c# - 我可以告诉 .NET GC 不理会某些线程吗?

multithreading - 控制台应用程序 - DbContext 实例不能在 OnConfiguring 内部使用

c - 如何将取消引用的指针与 CIL 模块完全匹配?

java - Java 标准库中的无副作用方法