Адреса в файле-захоронении Android точно совпадают с адресами в.so каждый раз (даже после перезагрузки)?

При сбое системы он оставляет файл захоронения в /data/tombstone. Я нашел кучу адресов, как показано ниже.

#00  pc 00010a20  /system/lib/libc.so
#01  pc 0000b332  /system/lib/libc.so
#02  pc 0000ca62  /system/lib/bluez-plugin/audio.so
#03  pc 0000d1ce  /system/lib/bluez-plugin/audio.so
#04  pc 0000e0ba  /system/lib/bluez-plugin/audio.so

Давайте предположим, что есть проблема, вызванная адресом 0000e0ba /system/lib/bluez-plugin/audio.so,

Я использовал 'add2line', чтобы увидеть, какая строка делает его таким плохим.

{TOOL_CHAIN}/arm-linux-androideabi-addr2line -f -e android/{OUT}/target/product/{PRODUCT}/symbols/system/lib/bluez-plugin/audio.so 0000e0ba

Он показал конкретную строку в коде, который создал проблему.

Вот вопрос. Я не очень понимаю, как адрес ПК в tombstone напрямую сопоставляется с адресом.so при каждом запуске. Очевидно, что это (после смерти) отладка после смерти системы, что означает, что питание телефона уже отключается.

Стоит ли думать, что динамическая библиотека (.so) всегда загружается в один и тот же адрес в ОЗУ даже после перезагрузки?

0 ответов

Другие вопросы по тегам