我想使用DS-5 Streamline profiler
来分析我的代码。在文档中提到,为了能够看到调用堆栈,我们需要使用编译器选项-fno-omit-frame-pointer
编译代码。这个选项在gcc中。
铿锵还有同等的选择吗?
-fno-omit-frame-pointer
对我来说不适用于clang。
我也尝试将编译器优化级别设置为0,但我仍然没有在精简中获得调用堆栈。
答案 0 :(得分:2)
看起来DS-5是一个ARM的东西,所以这可能不相关,但我遇到了类似的问题,试图从使用Linux {{3的clang编译的可执行文件中获得良好的堆栈跟踪}}
问题最终是,至少在x86-64 Linux上,Clang需要-fno-omit-frame-pointer
和 -mno-omit-leaf-frame-pointer
才能获得与gcc一样的行为只有1个}}。请参阅此LLVM错误:perf profiler