android — просмотр того, какой дисплей используется в Surfaceflinger через GDB

У меня есть дамп coreflinger core, и я ищу повреждение кадрового буфера.
Я использую Android JB 4.3 на плате Freescale с IMX6 и имею два дисплея, один внутренний 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)

Есть ли способ просмотреть элементы VectorImpl в GDB?
Как узнать, какой элемент в настоящее время используется во фрейме основного стека?

Буду признателен за ваш совет.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]