在大型 C++ 遗留应用程序中查找“死代码”[关闭]

2024-04-19

我目前正在开发一个大型且古老的 C++ 应用程序,在我之前已有许多开发人员。项目中有很多“死代码”、类和函数不再被任何人使用。

C++ 有哪些工具可用于分析大型代码库以检测和重构死代码?注意:我不是在谈论像 gcov 这样的测试覆盖率工具。

如何在项目中找到死代码?


你会想要使用一个静态分析 tool

  • 堆栈溢出:有哪些开源 C++ 静态分析工具可用? https://stackoverflow.com/questions/141498/what-open-source-c-static-analysis-tools-are-available
  • 维基百科:静态代码分析工具列表 http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

我遇到的主要问题是,您必须小心,不要从您无法控制/拥有的地方使用任何库。如果您从通过引用项目中的库来使用的类中删除函数,则可能会破坏您不知道使用该代码的内容。

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

在大型 C++ 遗留应用程序中查找“死代码”[关闭] 的相关文章

  • 我应该把 try/catch 和“using”语句放在哪里? [复制]

    这个问题在这里已经有答案了 可能的重复 try catch using 正确的语法 https stackoverflow com questions 4590490 try catch using right syntax 我想try c
  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • IEnumerable 的 String.Join(string, string[]) 的类似物

    class String包含非常有用的方法 String Join string string 它从数组创建一个字符串 用给定的符号分隔数组的每个元素 但一般来说 它不会在最后一个元素之后添加分隔符 我将它用于 ASP NET 编码 以用
  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 无法识别解决方案文件夹中的 Visual Studio 2017 Nuget.config

    我在使用 Visual Studio 2017 时遇到问题 新的解决方案不断引用 C Users yopa AppData Roaming NuGet Nuget config 中意外位置的 Nuget config 文件 我已将 nuge
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 嵌入式二进制资源 - 如何枚举嵌入的图像文件?

    我按照中的说明进行操作这本书 http www apress com book view 9781430225492 关于资源等的章节 我不太明白的是 如何替换它 images Add new BitmapImage new Uri Ima

随机推荐

  • Seaborn 直方图与大数据

    我正在尝试绘制 300 万行大数据集的漂亮直方图 我有 2CPU 16GB RAM 尽管我提供了垃圾箱 但我从未得到过任何线索 有没有更有效的方法来绘制直方图 请参阅下面的代码 df0 dd read csv filename sep he
  • 使用正则表达式清除工作区中的变量(例外)

    我想清除工作区中的所有变量 但有一些由正则表达式定义的例外 功能clear有一个附加选项 regexp clear regexp expr1 exprN清除与任何一个匹配的所有变量 列出的正则表达式 该选项仅清除变量 所以我正在寻找相反的东
  • 快速应用图像的 uibutton 动画

    我想通过依次更改按钮上的两个图像来应用动画效果 我已经应用了以下代码 但无法看到动画效果 我已经正确应用了 IBOutlets var image1 UIImage UIImage named img mic off var image2
  • Google应用程序脚本复制文档页面

    我在 Google 文档中有一个包含一页的模板文档 我想创建一个新文档 其中 N 页每页都与模板文档中的一页相同 我怎样才能做到这一点 请看一下这个帖子 https stackoverflow com questions 10692669
  • 错误:系列'对象没有属性'包含'”

    我搜索 DataFrame 的所有列 第一列除外 并添加一个带有匹配列名称的新列 Matching Columns 当我尝试在测试我的模式是否包含在一行中之前删除所有点时 我收到错误 这有效 keyword 123456789 f lamb
  • iPhone - 可以不显示键盘但仍然在 UITextField 中显示光标吗?

    我有一个自定义键盘 我想在用户点击 UITextField 时显示 但同时我想在文本字段中显示光标 如果为 canBecomeFirstResponder 返回 NO 则它不会显示默认键盘 但也不显示光标 有人可以帮我吗 Thanks 您问
  • 如何去掉 CR (^M) 并保留 LF (^J) 字符?

    我正在尝试使用 Hexl 模式手动从文本文件中删除一些特殊字符 但不知道如何在 Hexl 模式下删除任何内容 我真正想要的是删除回车符并保留换行符 Hexl 模式是执行此操作的正确方法吗 无需寻找替代 就用吧 M x delete trai
  • 该文件无法打开,因为您无权查看它(真实设备)

    我知道有人问过类似的问题 但我找不到任何可以解决我的问题的东西 就我而言 我开发了一个 iOS 应用程序 Xcode 13 4 用于从我使用选择的 CSV 文件导入和解析数据UIDocumentPickerViewController 在模
  • 是否应该尝试防范 MVC 视图中的空引用异常/索引越界异常?

    我想发表评论这个问题的 https stackoverflow com questions 1005819 can we unit test view v of mvc接受的答案 现在视图不是已经放弃了后面的代码了吗 那么你要测试什么 指出
  • 在tensorboard中创建日志目录

    我正在尝试学习如何使用张量板 我希望它在我的程序中运行 我不明白如何创建日志目录 这些是我运行张量板的线路 summary writer tf train SummaryWriter tensorflow logdir sess graph
  • 为什么使用“new DelegateType(Delegate)”?

    好吧 假设您在某个类中定义了一个委托 public delegate void StringDelegate string s 另一个类实现了一个方法 public static void StringWriter string s 在我正
  • Flutter:使构建时环境变量可用于代码

    如何让构建时环境变量可用于 Flutter 应用程序中的代码 我的具体用例是将应用程序版本号注入并将哈希提交到调试屏幕中 此信息在构建时可用 但在运行时不可用 我本来希望能够做这样的事情 flutter run dart define AP
  • 当不使用默认构造函数声明 POD 结构时会实例化什么?

    当我们的团队在 C 代码中处理有关 POD 统一成员的 valgrind 警告时 我发现了这个有趣的答案 https stackoverflow com a 5914697 629530 https stackoverflow com a
  • 位图分配在 Oreo 上如何工作,以及如何调查它们的内存?

    背景 在过去的几年里 为了检查 Android 上有多少堆内存以及使用了多少内存 您可以使用如下命令 JvmStatic fun getHeapMemStats context Context String val runtime Runt
  • 使用查询列出文件时出错

    当我尝试通过列出不同的查询条件来检索文件夹时 在 Python 中出现错误HTTP 500 Internal error 请求文件夹的代码如下 q root in parents title test mimeType applicatio
  • 使用 PyInstaller 后,FigureCanvas 未解释为 QtWidget

    我从 matplotlib 中对此示例进行了稍微修改的版本 https matplotlib org gallery user interfaces embedding in qt sgskip html https matplotlib
  • 在处理 MSpec 中的匿名方法时,是否有设置 [HostType("Moles")] 的解决方法?

    我使用 Pex 和 Moles 进行低级单元测试 但我也在探索 MSpec 进行业务逻辑验证 并希望继续使用 Moles 来保持一致性 我认为问题在于 MSPec 使用匿名方法 因此无法应用 HostType Moles 属性 例如 Bec
  • Javascript选择多个选项[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个带有选择框的表单 允许多个选项 用户保存这些选项后 会将它们存储在数据库表中 然后我可以读取这个数据库表以获取他们再次选择的选
  • IE7
  • 悬停之外的项目符号/数字
  • 此处的另一篇文章的后续内容 IE7 li 项目符号或数字显示在 div 外部 https stackoverflow com questions 6076730 ie7 li bullet or number shown outside o
  • 在大型 C++ 遗留应用程序中查找“死代码”[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在开发一个大型且古老的 C 应用程序 在我之前已有许多开发人员 项目中有很多 死代码 类和函数