我需要为我的研究分析和跟踪某些程序的堆栈使用情况,但是我发现Valgrind Massif似乎使用7 KB的堆栈使用情况来分析自身,我该如何忽略它或是否有其他适合我的分析器?
它显示了7 KB的堆栈使用率,甚至什么也不执行...
int main()
{
return 0;
}
和断层结果:
--------------------------------------------------------------------------------
Command: ./a.out
Massif arguments: --stacks=yes --heap=yes
ms_print arguments: massif.out.29255
--------------------------------------------------------------------------------
KB
7.008^ #
| #:
| #:
| :#:
| :#:
| :#:
| :#:
| :#:
| :#:
| :#:
| :#:
| :#: :
| :#:::::
| :#::@::
| :#::@::
| :#::@::
| :#::@:: :: :::@:: : ::::: :: : ::::@ :
| :#::@:::::::::::::::::::::@::@::::::::@:::@:::@::::@: :
| :::#::@:::: ::::::::::@::@::::::::@:::@:::@::::@: :
|::::::::::::::@::#::@:::: ::::::::::@::@::::::::@:::@:::@::::@: :@
0 +----------------------------------------------------------------------->ki
0 135.7
Number of snapshots: 96
Detailed snapshots: [2, 6 (peak), 11, 33, 38, 53, 63, 73, 83, 93]
答案 0 :(得分:0)
Valgrind本身不会(至少不会改变)来宾程序使用的堆栈大小。
您看到的很可能只是启动代码使用的堆栈大小:在main开始运行之前,可能还会发生很多其他事情。