JetBrains JVM Debugger Memory View Plugin
À la recherche de nouveaux outils lors de mes récentes activités de R&D pour améliorer mon expérience de développement et faciliter la vie avec Android Studio, j'ai trouvé un plugin utile dont je n'ai jamais entendu parler. C'est pourquoi, j'ai décidé d'écrire cet outil puissant et comment cela m'aide à déboguer mon application avec la mémoire.
De quoi parle le plugin?
Selon la page du plugin:
Ce plugin étend le débogueur JVM intégré avec la possibilité d'observer des objets dans le tas JVM lors d'une session de débogage.
La vue de mémoire est regroupée par nom de classe pour afficher le nombre total d'objets dans le tas .
Lorsque vous déboguez étape par étape du code, la colonne "Diff" montre le changement du nombre d'objets entre les arrêts de débogueur (les arrêts de débogueur, c'est-à-dire les points de débogage). De cette façon, vous pouvez facilement voir comment votre code de pas affecte le tas.
Double-cliquez sur le nom de la classe pour ouvrir une boîte de dialogue contenant des instances de la classe. Cette boîte de dialogue vous permet de filtrer les instances par des expressions calculées . Toutes les actions de débogueur (telles que la vérification, le marquage des objets, l'évaluation des expressions, l'ajout aux observations, etc.) peuvent être appliquées aux instances de cette boîte de dialogue.
Comment installer ce merveilleux plugin?
Ouvrez la page Android Studioplugins:
Appuyez sur le bouton Installer JetBrains…, recherchez la vue de mémoire de débogueur JVM et installez.
Redémarrez Android Studio après l'installation.
À première vue:
Après son retour à Android Studio, vous constaterez que la fenêtre de l'outil de vue de mémoire a été ajoutée au côté droit de la barre d'outils.
Fenêtre d'outil de vue de mémoire
Fenêtre d'outil de vue de mémoire
Si vous ne voyez pas la vue de la mémoire, ouvrez la fenêtre de l'outil et utilisez le menu principal: Affichage → Windows de l'outil → Affichage de la mémoire.
Tout d'abord, cet outil affichera les données uniquement lorsque le point d'arrêt de débogage est défini et exécuté pendant le mode de débogage.
Deuxièmement, je vais mentionner que j'ai lu certains des avertissements et des erreurs qui peuvent se produire avec Android Studio, mais je ne l'ai pas rencontré.
AVERTISSEMENT: La version Android Studio contient les restrictions suivantes:
Debogrons!
Après avoir exécuté l'application en mode de débogage et fait une pause sur BreakPoint, vous verrez une image magique:
Ce qui nous intéresse le plus, c'est la colonne Diff. Lorsque vous déboguez étape par étape de la ligne de code, vous verrez combien de nouvelles instances d'objets seront créées ou détruites!
Je veux trouver mon propre objet (c'est-à-dire la classe ProfileModel), donc je l'ai cherché:
Comme vous pouvez le voir, j'ai mis à jour le ProfileModel Vairable dans cette ligne de code, avant que GC ne supprime l'ancien objet, j'obtiens la différence est +1 et peut également accéder à l'ancien objet qui n'était pas possible auparavant. En double-cliquez sur ce disque, j'obtiendrai une instance de la classe ProFileModel dans la fenêtre:
Cette fenêtre vous permet également de filtrer les instances par des expressions calculées à l'aide de méthodes de classe. Par exemple, vous pouvez utiliser la méthode émetteur de la classe de réponse OKHTTP pour filtrer les réponses qui échouent en mémoire:
Fonction de filtre d'instance
Une autre fonctionnalité utile consiste à suivre de nouvelles instances, que vous pouvez activer via le menu avec le bouton droit dans la fenêtre de l'outil Memory View:
Cette fonctionnalité vous aide à suivre le code pour les nouvelles instances de classes générées!
Ce qui précède est le plug-in de débogage de mémoire d'idées introduit par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!