Avec Eclipse, il est possible de trouver toutes les références d'une méthode, d'un membre ou d'une classe. Est-il également possible de trouver toutes les références au moniteur d'un synchronisé?
Si cela n'est pas possible avec Eclipse, alors est-il possible avec un autre IDE Java? P>
Mon problème est que le moniteur Object Hat les références. Une recherche de toutes les références reviendra à de nombreux résultats. Je ne verrai que là où sont synchronisés avec cet objet. P>
EDIT: J'ajoute un échantillon ce que je veux dire: p> maintenant je veux chercher tous les éléments synchronisés qui Utilisez la classe Lockclass comme moniteur. Ceci est une analyse statique. Dans mon échantillon, je veux trouver: p>
3 Réponses :
Pour trouver des références: Ce n'est pas possible de trouver tous les blocs synchronisés possibles sur le même objet, car l'objet réel pointé par une référence dépendrait d'exécution. P> Sélectionnez votre élément-> RT-Click Menu-> Références-> Espace de travail Code> P>
Eclipse ne sera pas en mesure de trouver des références à un certain objet. Il ne peut trouver que des références à un certain symbole, par ex. une variable, une classe, une méthode A..o. Un moniteur peut être ceci code> ou la valeur d'une variable
O code> - les deux pointant sur le même objet au moment de l'exécution. Cependant, Eclipse n'a aucun moyen d'extraire des informations sur le temps d'exécution comme celle-là. P>
Obtenez quelques termes directement: p>
Suraj Décrivez déjà comment faire ceci: quelles variables pointe le moniteur? strong> p>
Cela gérera le cas lorsque plusieurs champs / variables locales font référence à l'objet. Pour ce faire, l'application doit être en cours d'exécution. Vous devez mettre un point d'arrêt dans un endroit correct, où le moniteur est visible (le moyen le plus simple est quelque part autour d'un bloc synchronisé, qui utilise le moniteur en question). La vue Variables affichera toutes les variables disponibles dans la portée actuelle. Vous pouvez obtenir toutes les références à un objet en sélectionnant une référence à l'objet dans la vue Variables, apportant le menu contextuel et la sélection de Recherche> Références> Espace de travail ... code>. Vous pouvez également filtrer ces références pour uniquement lire l'accès, l'écriture d'écriture, les implémentateurs, etc. Ces références sont trouvées via une analyse de code statique, il n'est donc pas nécessaire d'exécuter l'application. Cela ne détectera cependant pas automatiquement les cas où une référence à un objet est attribuée à un champ, qui est ensuite attribuée à une autre variable. Cela ne détecte que la référence à cette référence particulière à l'objet. P>
toutes les références ... code>. Cela vous montrera tous les champs / variables locales, qui font référence à l'objet. P>