Android NDK (5): información de la pila de restauración de ndk-stack
Los fallos nativos son más difíciles de entender que los de Java, lo que es muy perjudicial para la resolución de problemas. Sin embargo, podemos restaurar la información de la pila mediante la herramienta ndk-stack en el NDK.
Primero cree una excepción:
Se produce un bloqueo después de la ejecución, la información es la siguiente:
Esta información de bloqueo solo puede ver Java_com_teletian_sample_myndk_MainActivity_testCrash+27. se estrelló, no sé la línea específica.
Usemos la herramienta ndk-stack para restaurar la información de la pila.
1. Primero guarde la información del fallo como un archivo y luego restáurela mediante el archivo
adb logcat -c
adb logcat > crash.log
ndk-stack -sym app/build/intermediates/cmake/debug/obj/x86/ -dump crash.log
La información restaurada es la siguiente:
Puede ver que Native-lib.cpp:8:10 aparece en la información restaurada, para que pueda saber qué línea está incorrecta. Si ejecuta el comando en la ventana Terminal de Android Studio, también puede hacer clic directamente para saltar a la línea donde ocurre el problema, lo cual es muy conveniente.
2. Restaurar directamente en logcat
adb logcat -c
adb logcat -sym app/build/intermediates/cmake/debug/obj/x86