Profiling Callgrind配置文件格式(含/自付)

Profiling Callgrind配置文件格式(含/自付),profiling,file-format,kcachegrind,callgrind,Profiling,File Format,Kcachegrind,Callgrind,我正在努力理解Callgrind配置文件的格式。我找到了 在遇到“扩展示例”之前,我一直认为自己理解得相当好: events: Instructions fl=file1.c fn=main 16 20 cfn=func1 calls=1 50 16 400 cfl=file2.c cfn=func2 calls=3 20 16 400 fn=func1 51 100 cfl=file2.c cfn=func2 calls=2 20 51 300 fl=file2

我正在努力理解Callgrind配置文件的格式。我找到了

在遇到“扩展示例”之前,我一直认为自己理解得相当好:

events: Instructions

fl=file1.c 
fn=main
16 20 
cfn=func1 
calls=1 50 
16 400 
cfl=file2.c 
cfn=func2 
calls=3 20 
16 400

fn=func1 
51 100 
cfl=file2.c 
cfn=func2 
calls=2 20 
51 300

fl=file2.c 
fn=func2 
20 700
描述如下:可以看到,在“main”中,只有第16行的代码被执行,其他函数也被调用。“main”的包含成本为420,这是自成本20和通话中花费的成本之和


当只有func2的自身成本已经是700时,“main”的包含成本怎么可能是420?

好的,描述是错误的:当我粘贴此示例并在kcachegrind中打开它时,它确实显示了820的总包含成本。这是有道理的。对不起,吵闹了