堆栈跟踪中的内联函数是如何记录和符号化的?

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

当我在断点处暂停时,Xcode 似乎能够看到内联函数,并且它们被标记为“[inline]”。此外,当我进行 CPU 分析时,它能够看到内联函数。但是,当我使用 PLCrashReporter 和

symbolicatecrash
记录并表示崩溃时,它似乎不包含内联函数。
backtrace
+
backtrace_symbols
也会跳过内联函数。这是如何运作的?

inline crash-reports symbolicatecrash
1个回答
0
投票

DWARF 调试符号存储有关使用

DW_TAG_inlined_subroutine
DW_AT_inline
进行内联的信息。当生成堆栈跟踪并解析函数时,可以遍历 DWARF 树来收集此内联信息。

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