addr2line - 缺少内联函数代码行

addr2line - inline function code line missing

我有一个 android arm64 跟踪:

#02 pc 00000000000c61c0  /system/lib64/libmedia.so (_ZN7android10AudioTrack16AudioTrackThread10threadLoopEv+84)

我使用下面的命令来解析代码行信息:

aarch64-linux-addr2line -f -C -e symbols/system/lib64/libmedia.so 00000000000c61cc
android::Condition::wait(android::Mutex&)
/proc/self/cwd/system/core/include/utils/Condition.h:106

显然,wait() 是一个内联函数,所以 addr2line 在 threadLoop 中找不到代码行,而是使用 wait() 代码行。

如何在线程循环中获取正确的行号?我正在使用 binutils-2.28 构建 addr2line 工具。

您是否尝试过 -i 选项?

  -i --inlines           Unwind inlined functions