Les éléments de données d'un fragment sont les noms et les types d'éléments de données que le code source du fragment peut référencer.
La spécification des éléments de données est optionnelle. Un fragment peut contenir plus d'un élément de données, mais chaque type d'élément ne peut apparaître qu'une fois.
Propriété | Description |
---|---|
Type de données | Obligatoire. Les types disponibles sont répertoriés dans le tableau ci-après. |
Nom | Obligatoire. Doit correspondre à un nom de variable Java valide. Le code source du fragment utilisera ce nom pour faire référence à la donnée indiquée. |
Type de données | type, | Description |
---|---|---|
className | String | Pour les sondes de méthode, le nom de classe de la méthode sondée, y compris le nom du package, au format interne ; pour les sondes de site d'appel, le nom de classe de la méthode appelée. Exemple : org/eclipse/tptp/SomeClass |
methodName | String | Pour les sondes de méthode, le nom de classe de la méthode sondée, y compris le nom du package, au format interne ; pour les sondes de site d'appel, le nom de classe de la méthode appelée. Les constructeurs portent le nom de méthode <init>, les initialiseurs de classe statique <clinit>. |
methodSig | String | L'argument de la méthode et la signature du type de retour, au format interne. Non autorisé pour les fragments staticInitializer. Exemple : (Ljava/lang/String;)I |
thisObject | Object | L'objet this (pour des méthodes d'instances) transmis à la méthode sondée. Non autorisé pour les fragments staticInitializer. thisObject correspondra à null pour les méthodes statiques, pour les fragments entry appliqués à des constructeurs et pour les fragments exit appliqués à des constructeurs lorsque ceux-ci lancent une exception. |
args | Object[] | Un ensemble de références Object représentant les arguments pour la méthode sondée. Il existe un élément pour chaque argument de la méthode (hormis l'argument this). Les arguments de types primitifs sont regroupés dans des objets temporaires du type de référence approprié. Par exemple : Integer pour int. Si la méthode n'accepte aucun argument, la taille de l'ensemble Object[] est nulle. Les constructeurs des classes internes non statiques possèdent un argument caché par niveau interne afin que l'ensemble d'arguments comportent plus d'éléments que ceux apparaissant dans le code source. Non autorisé pour les fragments staticInitializer. |
returnedObject | Object | Une référence à l'objet retourné. Ce type est uniquement disponible pour les fragments exit et afterCall. Si le type de retour de la méthode sondée est primitif, la valeur renvoyée est placée dans un objet temporaire du type de référence approprié. Si la méthode est void (elle ne retourne pas de valeur) ou sort par exception, returnedObject sera null. |
exceptionObject | Throwable | Une référence à l'objet d'exception lancé. Ce type est uniquement disponible pour les fragments catch et exit. Si la méthode termine normalement, exceptionObject est null. |
isFinally | boolean | Une balise indiquant si le fragment a été appelé à partir d'une clause finally (true) ou catch (false). Uniquement valable dans les fragments catch. |
staticField | (variable) | L'objet auquel le champ statique fait référence. Son type est identique à celui déclaré dans l'objet staticField. Ceci n'est autorisé que si la sonde déclare un staticField. (Voir Exemple de sonde staticField et staticInitializer.) Non accepté pour les sondes de site d'appel. |
classSourceFile | String | Les informations source sur le nom du fichier, disponibles via les attributs de débogage du fichier classe. S'il n'existe pas d'informations source, classSourceFile est null. Pour Java, la valeur correspond en général au nom du fichier, sans informations sur le chemin d'accès. Non accepté pour les sondes de site d'appel. |
methodNames | String | Une liste encodée de noms et de signatures de méthodes. L'ordre des méthodes dans cette liste est identique à celui des méthodes dans methodLineTables et au classement reflété par l'élément de données methodNumber. La liste n'inclut pas les noms des méthodes insérées dans la classe par Probekit. La chaîne methodNames se compose d'un ou plusieurs noms et signatures de méthodes, séparés par un signe plus ("+"). Les signatures de méthodes se trouvent au format interne Java. Par exemple, une classe avec deux méthodes, un constructeur par défaut, une méthode run qui prend String et renvoie int, inclut cette chaîne methodNames : <init>()V+run(Ljava/lang/String;)I Non accepté pour les sondes de site d'appel. |
methodLineTables | String | Une liste encodée de numéros de lignes correspondant à chaque unité exécutable de code dans la classe. La liste ne comportera aucune unité exécutable insérée dans la classe par Probekit. Pour en savoir plus sur l'encodage, voir Format de chaîne methodLineTables. Non accepté pour les sondes de site d'appel. |
methodNumber | Integer | Le numéro d'index dans le tableau methodNames pour la méthode dans laquelle le fragment de sonde a été inséré. Non accepté pour les sondes de site d'appel ou les fragments staticInitializer. |
executableUnitNumber | Integer | Le numéro de l'unité exécutable dans laquelle le fragment de sonde a été inséré. Ce type de données est uniquement valable pour les fragments de sonde executableUnit et catch. Si la méthode ne possède pas les informations source sur les lignes, elle inclura une seule unité exécutable numérotée zéro. |
Pour entrer de éléments de données de fragment de sonde, sélectionnez Fragment dans le panneau d'arborescence, puis utilisez Ajouter et Editer pour entrer et définir les éléments de données dans le panneau d'édition.