我有一个 surfaceflinger 核心转储,我正在寻找帧缓冲区损坏。我在带有 IMX6 的飞思卡尔板上运行 android JB 4.3 并有两个显示器,一个内部 LVDS 和另一个外部显示器(通过 HDMI 连接)
我试图弄清楚哪个显示器与核心相关联 - 我正在查看的损坏的帧缓冲区是连接到内部显示器还是连接到外部显示器。
在 gdb 中,我运行以下命令:
(gdb) f
0x4014e6a0 in android::SurfaceFlinger::doComposition (this=0x406f1008) at frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:1031
1031 postFramebuffer();
(gdb)
(gdb) p mDisplays.mVector
$15 = (android::SortedVector, android::sp > >) {
= {
= {
_vptr.VectorImpl = 0x4015a6e0,
mStorage = 0x4099efa8,
mCount = 2,
mFlags = 0,
mItemSize = 12
}, }, }
(gdb)
有没有办法在 gdb 中查看 VectorImpl 元素?我如何知道核心堆栈框架中当前使用的是哪个元素?
我很感激你的建议。