Je suis en train de configurer emacs pour déboguer des applications android. Mon problème est que j'attache jdb à DDMS je ne peux pas placer le classpath approprié (jdb ne commencera pas juste quand j'essaye de placer -classpath et -attach ensemble). Donc jdb est pratiquement aveugle - pas de point d'entrée pour la classe, pas de débogage interactif. Comment puis-je spécifier classpath lorsque j'attache un débogueur à ddms?Débogage de l'application Android avec la ligne de commande jdb
Répondre
Selon la page de manuel JDB "-classpath" fait partie des "Options transmises au processus de débogage". En d'autres termes, il ne dit pas à jdb où trouver des choses, il indique à l'application en cours de débogage où trouver des choses.
Étant donné que vous vous connectez à un processus en cours d'exécution, cela n'a aucun sens. Toutes les informations nécessaires pour déboguer le processus sont stockées dans les fichiers DEX sur le périphérique; vous n'avez pas besoin de fichiers jar/dex côté hôte pour que jdb puisse jouer avec. La seule chose qui ne marchera pas, c'est "list", mais si vous êtes assis dans emacs, vous n'avez probablement pas besoin de ça. J'ai utilisé avec succès jdb pour effectuer toutes sortes de tâches de débogage. La chose que j'oublie le plus souvent est que vous devez spécifier le nom de classe complet (par exemple java.lang.String plutôt que simplement String). Si vous faites cela, et que vous obtenez toujours des échecs, veuillez coller un exemple de session de débogage jdb ici.
Merci d'avoir nettoyé – Stormherz
Je pense que ce serait mieux intitulé quelque chose sur le démarrage de la ligne de commande jdb ou les commandes de configuration. Existe-t-il un intérêt pour emacs autre que d'être ce qui est l'assemblage de la ligne de commande ou l'émission de commandes post-démarrage? –
Ouais, mon mauvais = ( – Stormherz