Language agnostic 与代码覆盖率集成的自由文本搜索
是否有任何工具允许我对系统代码执行自由文本搜索,但只对在特定调用期间实际执行的代码执行自由文本搜索 作为一个背景,在学习新系统时,我经常发现自己想要发现某些特定值来自何处,但搜索整个代码库发现的匹配项远远超过我可以合理地单独评估的Language agnostic 与代码覆盖率集成的自由文本搜索,language-agnostic,search,debugging,code-coverage,Language Agnostic,Search,Debugging,Code Coverage,是否有任何工具允许我对系统代码执行自由文本搜索,但只对在特定调用期间实际执行的代码执行自由文本搜索 作为一个背景,在学习新系统时,我经常发现自己想要发现某些特定值来自何处,但搜索整个代码库发现的匹配项远远超过我可以合理地单独评估的 无论如何,我曾经希望在Perl和Java中使用此功能,但我想知道是否有任何语言的系统支持此功能。您通常可以扭转代码覆盖工具的手臂,并获得一个报告,其中显示在给定运行期间执行的路径。该报告应该显示代码本身,根据覆盖工具关于是否执行给定路径的特定标记标记前几列 您可能可以
无论如何,我曾经希望在Perl和Java中使用此功能,但我想知道是否有任何语言的系统支持此功能。您通常可以扭转代码覆盖工具的手臂,并获得一个报告,其中显示在给定运行期间执行的路径。该报告应该显示代码本身,根据覆盖工具关于是否执行给定路径的特定标记标记前几列 您可能可以直接使用它,或者您可能必须对其进行预处理,或者删除未执行的代码,或者在每行上添加一个新的符号,说明是否执行了该代码(大多数工具仅在控制点显示路径信息): 因此,通过覆盖率工具,您可能会得到如下报告:
T- if(sometest)
{
x somecode;
}
else
{
- someother_code;
}
符号T-表示if语句的计算结果仅为true,因此仅执行代码的第一部分。后面的符号“x”表示该行已执行
您应该能够形成一个只在第一列包含T、F或x时匹配的正则表达式,这样您就可以捕获执行的所有控制语句和执行的行
有时,您只能在每个控制点获得覆盖率信息,这需要您自己解析C文件并标记执行行。不是那么容易,但也不是不可能
尽管如此,这听起来像是一个有趣的问题,解决方案可能比它的价值更多的工作
-亚当