Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 与代码覆盖率集成的自由文本搜索_Language Agnostic_Search_Debugging_Code Coverage - Fatal编程技术网

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文件并标记执行行。不是那么容易,但也不是不可能

尽管如此,这听起来像是一个有趣的问题,解决方案可能比它的价值更多的工作

-亚当