Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.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
C++ 是否可以使用gcov和dtrace等工具来理解不熟悉的代码库?_C++_C_Profiling_Gcov_Dtrace - Fatal编程技术网

C++ 是否可以使用gcov和dtrace等工具来理解不熟悉的代码库?

C++ 是否可以使用gcov和dtrace等工具来理解不熟悉的代码库?,c++,c,profiling,gcov,dtrace,C++,C,Profiling,Gcov,Dtrace,我正在用c/c++编写一些新代码,而我的大部分经验都是用高级语言编写的 我可以阅读代码,也可以在调试器中运行代码并逐步执行,但我想知道是否有工具可以执行以下任何操作: -记录一行执行的频率,以便我可以运行程序一段时间,并查看哪些部分是关键的,哪些部分很少被调用(可能代码被检测,我得到程序转储以提取信息) -记录行的执行顺序,以便我可以在很短的时间内运行程序,执行其中的一些相关操作,并查看程序采用的路径。显然,代码覆盖率还不够,我需要知道行的执行顺序。对于Stackoverflow来说可能不是一个

我正在用c/c++编写一些新代码,而我的大部分经验都是用高级语言编写的

我可以阅读代码,也可以在调试器中运行代码并逐步执行,但我想知道是否有工具可以执行以下任何操作:

-记录一行执行的频率,以便我可以运行程序一段时间,并查看哪些部分是关键的,哪些部分很少被调用(可能代码被检测,我得到程序转储以提取信息)


-记录行的执行顺序,以便我可以在很短的时间内运行程序,执行其中的一些相关操作,并查看程序采用的路径。显然,代码覆盖率还不够,我需要知道行的执行顺序。

对于Stackoverflow来说可能不是一个好问题,因为答案主要是基于观点的。也许可以重新表述您的问题,以提出一个更具体的问题,该问题可以得到真实的回答。代码分析可以以静态方式(读取代码,即w/OpenGrok)和动态方式(跟踪可执行程序,即w/DTrace)执行。您应该更好地了解这些方法,阅读有关分析和构建调用图的内容——这是您在问题中提到的两个工具。