死代码识别(C++)

2024-01-14

我有一个在 Visual Studio 2008 下编译的大型遗留 C++ 项目。我知道有相当数量的“死”代码无法在任何地方访问 - 未调用的方法,未使用的整个类。

我正在寻找一个可以通过以下方式识别这一点的工具静态分析.

这个问题:遗留 C/C++ 项目中的死代码检测 https://stackoverflow.com/questions/229069/dead-code-detection-in-legacy-cc-project建议使用代码覆盖率工具。这不是一个选择,因为测试覆盖率不够高。

它还提到了 -Wunreachable-code。海湾合作委员会的选项。我想要 Visual Studio 类似的东西。我们已经使用链接器的 /OPT:REF 选项来删除冗余代码,但这并没有在有用的级别报告死代码(当与 /VERBOSE 一起使用时,有超过 100,000 行,包括来自库的很多行)。

有没有更好的选项可以与 Visual Studio 项目配合使用?


我知道 Gimpel 的 Lint 产品(PC-Lint http://www.gimpel.com/html/pcl.htm and 弗莱塞林特 http://www.gimpel.com/html/flex.htm)将识别无法访问的代码和未使用/未引用的模块。

它们都属于静态分析工具的范畴。

我与 Gimpel 没有任何关系,只是一个满意的长期客户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

死代码识别(C++) 的相关文章

随机推荐

  • 使用 setuptools 创建 python 可执行文件

    我有一个小的 python 应用程序 我想将其制作为类 UNIX 系统的可下载 可安装的可执行文件 我的印象是安装工具将是实现这一目标的最佳方法 但不知何故 这似乎不是一项常见任务 我的目录结构如下所示 myappname setup py
  • Kafka 连接到节点 ubuntukafka 时出错:9092(id:0 机架:null)(org.apache.kafka.clients.NetworkClient)java.net.UnknownHostException:

    我在 VirtualBox 来宾上有两台服务器 每个服务器都是 ubuntu 我可以从我的主机通过 SSH 连接到两台机器 以及两台机器之间的 SSH 这样它们都具有 natnetwork 我在一台服务器 kafka 上运行 如下所述 ht
  • Python 格式最佳实践

    我刚刚熟悉 Python 并且有一个关于在字符串上使用 format 的最佳实践 或至少是常见实践 的问题 我的问题主要是关于何时使用空白大括号 索引号和名称 例如 如果您想将一个变量包含在字符串中 您会选择哪一个 print I Stac
  • NASM:磁盘读取超时

    尝试从磁盘 从同一文件 读取数据 将另外 2 个 512 字节扇区加载到内存中 磁盘读取功能如下 read DH sectors to ES BX from drive DL disk read push dx push bx Tried
  • Google Apps 脚本 location.reload 在网络应用程序中

    我正在使用一个 GAS Web 应用程序 当用户执行某些操作 例如单击特定的 div 时 该应用程序需要刷新其内容 在客户端 我有一个从 onclick 调用的脚本 google script run withSuccessHandler
  • 在 swift 3 iOS 中实现谷歌翻译 api

    你好 我是 iOS 开发新手 我正在尝试在我的应用程序中实现谷歌翻译 API 我从GitHub上在线找到了一些示例代码https github com prine ROGoogleTranslate https github com pri
  • 无法更改 rgl 图中的文本大小

    我在更改使用 rgl 包生成的 3d 绘图的文本大小时遇到 问题 一切工作正常 但我无法有效地更改 3d 对象的 cex 属性 我在 64 位 Ubuntu 10 04 LTS 2 6 32 37 generic 下运行 R 2 14 1
  • 构造函数中的同步以使其发生在之前

    我有一个关于如何通过 Java 内存模型保证对象是线程安全的问题 我读过很多文章 说在构造函数中编写同步作用域没有意义 但为什么没有意义呢 是的 确实 只要正在构造的对象不在线程之间共享 这不应该是 除了构造线程之外 没有任何线程可以到达任
  • 与 ARM LDR 指令关联的哈希 (#) 值是什么意思?

    我正在尝试调试我的应用程序中遇到的崩溃 堆栈跟踪指向具有以下格式的 LDR 指令 感谢反汇编程序 LDR R3 R0 4 我的问题是关于源组件的 第二个参数中的 4是什么意思 我假设它是某种偏移量 但我还没有找到支持 LDR 指令的文档 它
  • DataTable 和线程安全

    我将 DataTable 存储在 ASP NET Cache 属性中 可以对该 DataTable 执行的操作有 绑定到网格控件 第 3 方网格内部管理数据源对象 回发后其 DataSource 为 NULL 我假设一旦绑定数据 它就不再使
  • MavenProject:获取在我的插件上使用的可用类

    我正在按照描述加载 Maven 项目here https stackoverflow com questions 4381460 get mavenproject from just the pom xml pom parser 我正在尝试
  • 定期分割字符串

    我想定期分割字符串 我的问题与这个问题几乎相同 如何将一个字符串分割成给定长度的子串 https stackoverflow com questions 11619616 how to split a string into substri
  • SubSonic 和存储过程

    使用 SubSonic 时 您是否将数据作为数据集返回 或者将其放入强类型自定义集合或通用对象中 我运行了 subsonic 项目 对于数据库中的四个存储过程 它为我提供了一个 Sps cs 其中包含 4 个返回 StoredProcedu
  • 如何访问数组的对象(stdClass 对象)成员/元素的属性? [复制]

    这个问题在这里已经有答案了 Doing print r 在我的阵列上我得到以下信息 Array 0 gt stdClass Object id gt 25 time gt 2014 01 16 16 35 17 fname gt 4 tex
  • 双除法的错误行为

    我有一个HashMap called List
  • 如何在 Antd 表中使用 Radio 组?

    我想这样做 每一行都是一个Radio组 每个单元格都是一个Radio按钮 如图 Radio 组的示例如下
  • python中的循环引用

    我不确定python如何处理循环引用 引用循环 我检查了一些答案并发现this https stackoverflow com questions 8025888 does python gc deal with reference cyc
  • Android - 返回调用 Activity

    来自 iPhone 开发人员的新手问题 我已调用 startActivity intent 并加载新活动 按下按钮后如何 返回 调用活动 基本上将活动从堆栈中 弹出 如果您使用以下命令创建了新活动startActivity http dev
  • Camel从类路径资源读取文件?

    我在 Spring Boot 应用程序的 resources file txt 的类路径上有一个文件 我如何在骆驼路线中引用它 我努力了 from file resource classpath fileName file txt 及其变体
  • 死代码识别(C++)

    我有一个在 Visual Studio 2008 下编译的大型遗留 C 项目 我知道有相当数量的 死 代码无法在任何地方访问 未调用的方法 未使用的整个类 我正在寻找一个可以通过以下方式识别这一点的工具静态分析 这个问题 遗留 C C 项目