I have a surfaceflinger core dump and I'm looking for a frame buffer corruption. I'm running android JB 4.3 on Freescale board with IMX6 and have two displays, one internal LVDS and another external monitor (connected through HDMI)
I'm trying to figure out which display is associated to the core - whether the corrupted framebuffer that I'm looking at is attached to the internal or to the external monitor.
In gdb I run the following:
(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)
Is there a way to view the VectorImpl elements in gdb? How do I know which element is currently used in the core stack frame?
I'd appreciate your advise.