12得票3回答
在Windows平台上的本地C++应用程序中自动检测死代码?

背景 我有一个使用本地C ++编写的应用程序,已经持续了几年时间,它大约有60 KLOC。有许多许多函数和类已经死亡(可能有10-15%,就像下面类似的基于Unix的问题所问)。我们最近开始对所有新代码进行单元测试,并在可能的情况下将其应用于修改后的代码。但是,我觉得我们现在的测试覆盖率不到...

12得票2回答
如何检测企业级Java项目(Java + JSP + Javascript)中的死代码?

有没有工具可以检测Java EE项目中的死代码? 我研究了很多工具,它们可以很好地处理纯Java项目,但似乎没有工具能够真正处理包括JSP和Javascript文件的项目。例如,检测Java方法是否正在使用,因为它被从JSP调用,或者检测先前用作AJAX请求的某个JSP文件是否不再从任何Ja...

12得票2回答
Java常量表达式和代码消除

正如在这里所讨论的那样,javac和其他Java编译器可以为if-语句提供代码消除功能,其中条件是“常量表达式”。 如果我的代码使用依赖于不同包中定义的其他常量表达式的常量表达式,会对此产生什么影响? 例如,假设我有以下类分别位于指定的包中:package foo; public cla...

11得票1回答
C++虚函数:链接器是否可以删除未被调用的虚函数表中的条目?

这个问题是消除未使用的虚函数的后续,但对我来说不够深入。 问题:当定义具有虚函数的类时,编译器为虚函数表分配存储空间,并在表中存储函数指针。这会导致链接器保留这些函数的代码,无论它们是否被调用。即使编译器优化设置要求消除死代码,这可能导致大量死代码保留在可执行文件中。 现在,如果在可执行文...

11得票4回答
检测C#中的死代码

如何检测我C#应用程序中的死代码?

10得票3回答
Java: 死代码消除

我想知道Java如何处理以下情况: 假设我有一个名为Debug的类,它看起来像这样:public class Debug { private static final boolean isAssertEnabled = true; public static void a...

10得票2回答
将静态库链接到动态库时删除无用代码

假设我有以下文件: libmy_static_lib.c:#include <stdio.h> void func1(void){ printf("func1() called from a static library\n"); } void unused_func1(...

10得票2回答
死代码和如何从Haskell源代码生成交叉引用

我有一些未使用的代码功能,但很难识别。随着时间的推移,代码在探索其问题空间和可能的解决方案时不断发展。我现在需要做的是找到那些未使用的代码,以便我可以摆脱它。如果能以可导出名称为基础解决问题,我会很高兴。 GHC具有处理非导出未使用代码的警告。任何特定于此任务的工具都会很有趣。 但是,我对综...

10得票2回答
使用GCC查找不可达函数(“死代码”)

我正在寻找一种在一个(非常)庞大的C++项目中查找静态不可达函数的方法。我尝试过使用Doxygen和其他静态分析工具,但似乎这个项目对它们来说太复杂了。最后,我决定使用GCC工具(g++、gprof、gcov等)是最安全的选择,虽然我不知道如何操作。 我认为g++的优化可以排除静态不可达函数...

9得票1回答
Eclipse将代码行标记为死代码

我有这个函数,其中包含一些已经被Eclipse标记为死代码的部分。 我有两行代码检查a和b。检查b的那行代码被标记为null。 public int[] runThis(List<Integer> buildIds, List<Integer> scenar...