在debian 8 jessie上没有显示StackTraces的perf-events

我正在试图在debian 8 jessie上描述一个简单的C程序。 我可以看到符号,但我无法获取堆栈跟踪。 同样的过程在ubuntu 16.04上生成好的堆栈跟踪。

我已经安装了linux-image-amd64-dbglibc6-dbg 。 我已经确认内核configuration参数包括CONFIG_KALLSYMS=y

我用gcc -g3 -O0 hello.c编译了程序来启用debugging符号。

我开始用下面的命令分析。 sudo perf record -g ./a.out

我用下面的命令生成一个火焰图

 sudo perf script | ~/code/FlameGraph/stackcollapse-perf.pl | \ ~/code/FlameGraph/flamegraph.pl > perf-kernel.svg 

这是hello.c的列表,我正在试图分析

 #include <stdio.h> #include <unistd.h> void do2() { int fd = fileno(f); char buf[100]; while(1) { read(fd, buf, sizeof(buf)/sizeof(buf[0])); } } int main(void) { do2(); return 0; } 

这是debian jessie的火焰图

这是Ubuntu的火焰图

为什么debian jessie中的堆栈跟踪丢失?

感谢Sharath