我试图从下面的代码中获取gprof文件:
//test.cpp
#include<stdio.h>
void func1() {
printf("Inside func1");
for(int i = 1;i<0xffffffff;i++);
}
void func2() {
printf("Inside func2");
for(int i = 1;i<0xffffffaa;i++);
}
int main() {
printf("Inside main()");
for(int i = 1; i <= 1000; i++);
func1();
func2();
return 0;
}
我在shell中运行了这些命令:
> g++ test.cpp -o test -pg
> ./test
Inside main()
Inside func1
Inside func2
> gprof -b test gmon.out > rep
然而,在文件“rep”中,我没有找到内部运行细节的程序。
这是“rep”文件:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
Call graph
granularity: each sample hit covers 2 byte(s) no time propagated
index % time self children called name
Index by function name
我在互联网上搜索了它,但没有遇到类似的问题。有人可以告诉你如何解决这个问题吗?
g ++(GCC)7.1.1 20170630
GNU gprof(GNU Binutils)2.28.0.20170506
提前致谢。