2 votes

L'outil Ndk-stack-trace ne fonctionne pas sous Windows

J'ai un problème avec l'exécution de l'outil NDK stack trace sous Windows. C'est probablement une erreur stupide, alors voici ce que j'essaie :

...\android-ndk-r8d\ndk-stack.exe -sym ".../JNITest/obj/local/x86/" -dump ".../crash.txt"

Le message que je reçois est le suivant :

********** Crash dump: **********
...

Stack frame #00  eip: 30303030: Unable to open symbol file .../JNITest/obj/local/x86//. Error (123): Unknown error

Il y a donc un fichier .so dans ce dossier qui devrait contenir des symboles (BTW : comment puis-je vérifier si c'est le cas ?).

1voto

Olga Points 11

Lorsque vous construisez la bibliothèque native avec ndk-build, il crée un fichier de type .so contenant toutes les informations de débogage, généralement dans le répertoire <proj>/obj/local/armeabi et après cela installe ce fichier dans <proj>/lib/armeabi en supprimant les symboles de débogage. Ces derniers sont intégrés dans l'APK.

armeabi Le terme ci-dessus est utilisé le plus souvent parce que la plupart des appareils Android utilisent un processeur ARM. Votre message fait référence à x86 sous-répertoire. Avez-vous vraiment utilisé un appareil à processeur Intel pour ce projet ? Avez-vous construit votre bibliothèque native pour x86 ? Si c'est le cas, pouvez-vous trouver ce fichier dans le répertoire <proj>\obj\local\x86 répertoire ?

0voto

gregko Points 1272

J'ai eu le même crash de ndk-stack.exe en utilisant Android NDK Release 9, 64-bit sur Windows 7. J'ai mis à jour vers une version plus récente du NDK, la version 9c, 64-bit, et le problème a disparu. Apparemment un bug dans les versions précédentes du NDK.

Greg

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X