Les objets de sonde Data contiennent les noms et les types des éléments de données référencés par le code source dans un objet Code d'un fragment.
L'objet Data est facultatif. Un fragment de sonde peut contenir plusieurs objets Data, mais deux objets Data d'un fragment ne peuvent pas avoir le même type ou nom.
Propriété | Description |
---|---|
name | Obligatoire. Doit spécifier un nom de variable Java correct. |
type | Obligatoire. Les types disponibles sont répertoriés dans le tableau suivant. |
Type | Type de données | Description |
---|---|---|
className | Chaîne | Le nom de classe de la méthode à sonde, notamment le nom du module, au format interne. Exemple : org/eclipse/hyades/SomeClass |
methodName | Chaîne | Le nom de méthode de la méthode à sonde, au format interne. Incorrect pour les fragments staticInitializer. Les constructeurs portent le nom de méthode <init>, les initialiseurs de classe statique ont <clinit> comme nom de méthode. |
methodSig | Chaîne | L'argument de méthode et la signature du type de renvoi, au format interne. Incorrect pour les fragments staticInitializer. Exemple : (Ljava/lang/String;)I |
thisObject | Objet | L'objet this (pour des méthodes d'instance) qui a été transmis à la méthode à sonde. Incorrect pour les fragments staticInitializer. thisObject sera null pour les méthodes statiques, pour les fragments entry qui s'appliquent aux constructeurs et pour les fragments exit appliqués aux constructeurs lorsque le constructeur émet une exception. |
args | Object[] | Un tableau de références Object représentant les arguments pour la méthode à sonde. Il existe un élément dans ce tableau pour chaque argument pour la méthode (l'argument this exclus). Les arguments des types primitifs sont liés à des objets temporaires du type de référence approprié, Integer pour int par exemple. Si la méthode ne prend aucun argument, il s'agira d'un tableau Object[] de taille zéro. Notez que les constructeurs pour des classes internes non statiques ont un argument masqué par niveau "interne". Le tableau d'argument contiendra donc plus d'éléments que ceux qui apparaissent dans le code source. Incorrect pour les fragments staticInitializer. |
returnedObject | Objet | Une référence à l'objet renvoyé. Ce type est uniquement disponible pour les fragments exit. Si le type de renvoi de la méthode à sonde est un type primitif, la valeur renvoyée est liée à un objet temporaire du type de référence approprié. Si la méthode est void (ne renvoie pas de valeur) ou si elle est quittée par une exception, returnedObject sera null. Correct dans les fragments afterCall uniquement. |
exceptionObject | Throwable | Une référence à l'objet d'exception émis. Ce type est uniquement disponible pour les fragments catch et exit. Si la méthode est quittée normalement, exceptionObject sera null. |
isFinally | boolean | Un indicateur spécifiant si le fragment a été appelé à partir d'une clause finally (vrai) ou d'une clause catch (faux). Correct dans les fragments catch uniquement. |
staticField | (varie) | L'objet référencé par le champ statique. Son type est le même que celui déclaré dans l'objet staticField. Ceci est uniquement correct si la sonde comprend également l'objet staticField. Incorrect pour les sondes de site d'appel. |
classSourceFile | Chaîne | Les informations sur le nom du fichier source disponibles grâce aux attributs de débogage du fichier de classe. S'il n'y a pas d'informations source, classSourceFile ser null. Pour Java, la valeur n'est généralement que le nom du fichier, sans informations sur le chemin. Incorrect pour les sondes de site d'appel. |
methodNames | Chaîne | Une liste codée des noms et signatures de méthode. L'ordre des méthodes dans cette liste est le même que celui des méthodes dans methodLineTables, et est le même que celui reproduit par l'élément de données methodNumber. La liste n'incluera pas les noms des méthodes insérées dans la classe par Probekit. La chaîne methodNames comprend un ou plusieurs noms et signatures de méthode, séparés par un signe plus ("+"). Les signatures de méthode sont au format interne Java. Par exemple : une classe avec deux méthodes, un constructeur par défaut, un objet run de méthode qui prend une String et renvoie un int, présente cette chaîne methodNames : <init>()V+run(Ljava/lang/String;)I Incorrect pour les sondes de site d'appel. |
methodLineTables | Chaîne | Une liste codée des numéros de ligne correspondant à chaque unité exécutable de code de la classe. La liste n'incluera pas les unités exécutable insérées dnas la classe par Probekit. Pour obtenir une explication du codage, consultez Le format de chaîne methodLineTables. Incorrect pour les sondes de site d'appel. |
methodNumber | Integer | Le numéro d'index du tableau methodNames pour la méthode dans laquelle le fragment de sonde a été inséré. Incorrect 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 correct pour les fragments de sonde executableUnit et catch. Si la méthode ne comprend pas d'informations de ligne source, elle apparaîtra comme n'ayant qu'une seule unité exécutable numérotée zéro. |
<data type="className" name="__class" />
Contenu par
L'objet de sonde Fragment