-fno-omit-frame-pointer用于clang的等效编译器选项

问题描述 投票:4回答:1

我想用DS-5 Streamline profiler来描述我的代码。在文档中提到,为了能够看到调用堆栈,我们需要使用编译器选项-fno-omit-frame-pointer编译代码。这个选项在gcc中。铿锵还有同等的选择吗?

-fno-omit-frame-pointer不和我一起工作。

我也尝试将编译器优化级别设置为0,但我仍然没有在流线型中获得调用堆栈。

clang clang++ streamline
1个回答
2
投票

看起来DS-5是一个ARM的东西,所以这可能不相关,但我遇到了类似的问题,试图从使用Linux的perf profiler的clang编译的可执行文件中获得良好的堆栈跟踪。

问题最终是,至少在x86-64 Linux上,Clang需要-fno-omit-frame-pointer-mno-omit-leaf-frame-pointer以获得与gcc仅使用-fno-omit-frame-pointer相同的行为。看到这个LLVM错误:"Need both -fno-omit-frame-pointer and -mno-omit-leaf-frame-pointer to get a fp on linux on a leaf function"

© www.soinside.com 2019 - 2024. All rights reserved.