我有一个用-fno-omit-frame-pointer
编译的C ++程序。我在两个进程中运行相同的程序,并分别使用perf record -p 24509,24470 -F 977 --call-graph fp -- sleep 120
和perf script
来获取堆栈跟踪。
我发现所有来自24509的堆栈跟踪在底部都有main | __libc_start_main
,但是来自24470的堆栈跟踪只有main
。
我的问题是,为什么perf堆栈跟踪对于一个进程没有__libc_start_main,但是对于另一个进程却没有__libc_start_main,即使它们正在运行同一程序。
我的性能版本为3.10.0-514.36.5.el7.x86_64.debug
。