在大型 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++ 遗留应用程序中查找“死代码”[关闭] 的相关文章

  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • 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 应用程序 在我之前已有许多开发人员 项目中有很多 死代码 类和函数