points de rupture des données en java / eclipse

lors du développement de C++ avec VS vous avez Cette caractéristique étonnante des points de rupture de données, qui se déclenchent lorsque les données à une certaine adresse dans la mémoire change.

existe-t-il une fonctionnalité similaire lors du développement de java dans eclipse?

merci!

edit: A propos de la fonctionnalité" suspend when value changes": j'ai l'impression que l'exécution doit toujours atteindre la ligne où se trouve le point de rupture. le truc, c'est que je veux qu'il déclencher n'importe où, dès que la valeur changement.

40
demandé sur clamp 2010-11-03 13:24:52

6 réponses

vous pouvez définir un watchpoint sur un champ: placez le curseur sur la ligne où le champ est déclaré et sélectionnez le menu Run -> Toggle Watchpoint

ou mettez juste un point de rupture en double-cliquant sur la marge gauche sur cette ligne.

vous pouvez changer les propriétés du watchpoint comme suspend on field access ou suspend on field modification après l'ajout. Il suffit de cliquer droit sur le point d'observation à la marge de gauche et sélectionnez Breakpoint Properties...

rechercher l'aide pour watchpoint pour obtenir plus d'informations:

un watchpoint est un point de rupture spécial qui arrête l'exécution d'une application chaque fois que la valeur d'une expression donnée change, sans préciser où elle pourrait se produire. ...

59
répondu Carlos Heuberger 2010-11-03 10:59:01

utilisant la Variable view:

  • faites un clic droit sur le champ et sélectionnez "bascule Watchpoint", puis
  • faites un clic droit sur la même instance et sélectionnez " points de rupture D'Instance..."ce qui permet de restreindre un point de rupture spécifique à une instance donnée.

notez que la performance n'est probablement pas aussi bonne qu'avec un point de rupture de la mémoire matérielle (comme dans VC++ par exemple).

6
répondu Francois Misiak 2011-02-04 17:30:25

sous les propriétés breakpoint, vous avez l'option de le rendre conditionnel et de vérifier le bouton radio "Suspend when value changes".

3
répondu Neil 2010-11-03 10:30:04

faites un clic droit sur le point de rupture et sélectionnez Breakpoint properties.

Dans l'écran d'ouverture, cliquez sur: Conditional -> Suspend when value changes

3
répondu Sean Patrick Floyd 2010-11-03 10:30:10

la chose la plus proche serait d'éditer les propriétés breakpoint. Vous pouvez ajouter des conditions pour vérifier les valeurs distinctes. Une autre façon pourrait être d'ajouter un point de rupture à la méthode setter.

vous pouvez définir les propriétés du point de rupture en cliquant avec le bouton droit de la souris sur un point de rupture déjà défini dans la vue du point de rupture.

1
répondu stacker 2010-11-03 10:29:06

autant que je sache, il n'y a pas de telle caractéristique générique dans Eclipse. Cependant, vous pouvez donner quelques conditions à un point de rupture existant:

Ajouter un point de rupture quelque part dans votre code. Ensuite, dans la vue" Breakpoint", faites un clic droit dessus, puis choisissez"Breakpoint properties". Dans le panneau, vous pouvez ajouter une condition qui doit être vérifiée pour que l'application s'arrête sur ce point d'arrêt (par exemple,if (foo > 0)).

ce n'est pas exactement ce que vous voulez, mais je ne pense pas éclipse fournit cette fonctionnalité.

1
répondu romaintaz 2010-11-03 10:30:14