我需要分析和跟踪一些程序的堆栈使用情况,但我发现Valgrind Massif似乎使用了7KB的堆栈使用情况,我怎么能忽略它,或者是否有其他适合我的分析器?
它显示了7KB的堆栈使用,甚至什么都不执行...
int main()
{
return 0;
}以及massif结果:
--------------------------------------------------------------------------------
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]发布于 2019-05-31 02:14:05
Valgrind本身不会改变(至少很大程度上)客户程序使用的堆栈大小。
您看到的很可能只是启动代码使用的堆栈大小:在main开始运行之前,可能会发生很多其他事情。
https://stackoverflow.com/questions/56326945
复制相似问题