当我在断点处暂停时,Xcode 似乎能够看到内联函数,并且它们被标记为“[inline]”。此外,当我进行 CPU 分析时,它能够看到内联函数。但是,当我使用 PLCrashReporter 和
symbolicatecrash
记录并表示崩溃时,它似乎不包含内联函数。 backtrace
+ backtrace_symbols
也会跳过内联函数。这是如何运作的?
DWARF 调试符号存储有关使用
DW_TAG_inlined_subroutine
和 DW_AT_inline
进行内联的信息。当生成堆栈跟踪并解析函数时,可以遍历 DWARF 树来收集此内联信息。