我想用来DS-5 Streamline profiler
分析我的代码。在文档中提到,为了能够看到调用堆栈,我们需要使用编译器选项编译代码-fno-omit-frame-pointer
。这个选项在 gcc 中有。铿锵也有等效的选择吗?
-fno-omit-frame-pointer
铿锵声不适合我。
我也尝试将编译器优化级别设置为 0,但我仍然没有得到流线型的调用堆栈。
我想用来DS-5 Streamline profiler
分析我的代码。在文档中提到,为了能够看到调用堆栈,我们需要使用编译器选项编译代码-fno-omit-frame-pointer
。这个选项在 gcc 中有。铿锵也有等效的选择吗?
-fno-omit-frame-pointer
铿锵声不适合我。
我也尝试将编译器优化级别设置为 0,但我仍然没有得到流线型的调用堆栈。
看起来 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 错误:“需要 -fno-omit-frame-pointer 和 -mno-omit-leaf-frame-pointer 才能在 linux 上的叶函数上获取 fp”