J'ai découvert l'outil de débogage de "ndk-gdb" d'Android NDK r4. Maintenant, je peux commencer à déboguer l'échantillon hello-jni (bien qu'un problème existe). Mais, pour mes propres applications Android, j'ai plusieurs bibliothèques à utiliser, construites à partir d'un grand nombre de fichiers c/c + +. J'avais l'habitude de construire ces fichiers avec ndk-build, puis de copier ces fichiers dans le répertoire $ PROJECT/libs, et ça marche bien sans débogage. Mais maintenant je veux déboguer un si lib avec ndk-gdb. Quand j'ai démarré ndk-gdb, il se plaint qu'aucune table de symboles n'est chargée.ndk-gdb avec plusieurs libs
Je copie également tous ces fichiers dans $ PROJECT/bin/ndk/local/armeabi (semble être le répertoire par défaut où gdb essaie de charger la table des symboles). Et encore, ça ne marche pas.
Peut-être que ndk-gdb ne peut pas suivre mes fichiers après les avoir copiés? Ou pourquoi ne peut-il charger aucune table de symboles, même après les avoir copiées sous $ PROJECT/bin/ndk/local/armeabi?
Avez-vous déjà rencontré ce problème?
Merci beaucoup!
Merci beaucoup pour votre réponse! Je vais essayer votre solution demain. Et, pourriez-vous offrir plus de documents sur le processus de construction interne de NDK? Quelque chose comme "dépouillé", je n'en ai jamais entendu parler. – MaratSafinWang
Voir la commande Unix "strip": http://unixhelp.ed.ac.uk/CGI/man-cgi?strip - faites attention si vous tapez "man strip" dans Google au travail. A été surpris par les premiers liens. :) – SomeCallMeTim
Comme pour les autres étapes du processus de construction, ceci est documenté dans docs/OVERVIEW.TXT dans le paquetage NDK: "La dernière étape copiera, en cas de succès, les bibliothèques partagées que votre application a besoin du projet racine de votre application annuaire." – SomeCallMeTim