Los elementos de datos de un fragmento son los nombres y tipos de elementos de datos a los que el código fuente del fragmento puede hacer referencia.
La especificación de elementos de datos es opcional. Un fragmento puede contener más de un elemento de datos, pero cada tipo de elemento sólo puede aparecer una vez.
Propiedad | Descripción |
---|---|
Tipo de datos | Obligatoria. Los tipos disponibles se muestran en la tabla siguiente. |
Nombre | Obligatoria. Debe especificar un nombre de variable Java válido. El código fuente del fragmento de sonda utilizará este nombre para hacer referencia a los datos indicados. |
Tipo de datos | tipo | Descripción |
---|---|---|
className | String | Para sondas de método, el nombre de clase del método sondeado, incluido el nombre de paquete, en formato interno; para sondas de sitio de llamada, el nombre de clase del método llamado. Ejemplo: org/eclipse/tptp/SomeClass |
methodName | String | Para sondas de método, el nombre de método del método sondeado, en formato interno; para sondas de sitio de llamada, el nombre de método del método llamado. Los constructores tienen el nombre de método <init>, y los inicializadores de clase estáticos tienen <clinit> como nombre de método. |
methodSig | String | La firma de tipo de retorno y argumento del método, en formato interno. No es válido para fragmentos staticInitializer. Ejemplo: (Ljava/lang/String;)I |
thisObject | Object | El objeto this (para métodos de instancia) que se ha pasado al método probado. No es válido para fragmentos staticInitializer. thisObject es null para métodos estáticos, para fragmentos entry que se aplican a constructores y para fragmentos exit aplicados a constructores cuando el constructor lanza una excepción. |
args | Object[] | Una matriz de referencias a Object que representan los argumentos del método probado. Hay un elemento de esta matriz para cada argumento del método (sin contar el argumento this). Los argumentos que son tipos primitivos están encuadrados en objetos temporales del tipo de referencia apropiado, como por ejemplo: Integer para int. Si el método no acepta argumentos, el tamaño de la matriz Object[] es cero. Tenga en cuenta que los constructores de clases internas no estáticas tienen un argumento oculto por nivel "interno", de modo que la matriz de argumentos contendrá más elementos de los que aparecen en el código fuente. No es válido para fragmentos staticInitializer. |
returnedObject | Object | Una referencia al objeto que se devuelve. Este tipo sólo está disponible para fragmentos exit y afterCall. Si el tipo de retorno del método probado es un tipo primitivo, el valor devuelto está enlazado a un objeto temporal del tipo de referencia apropiado. Si el método es void (no devuelve un valor) o si sale por una excepción, returnedObject es null. |
exceptionObject | Throwable | Una referencia al objeto de excepción que se lanza. Este tipo sólo está disponible para fragmentos catch y exit. Si el método sale normalmente, exceptionObject es null. |
isFinally | boolean | Un distintivo que indica si el fragmento se ha llamado desde una cláusula finally (true) o desde una cláusula catch (false). Sólo es válido en fragmentos catch. |
staticField | (varía) | El objeto al que hace referencia el campo estático. Su tipo es el mismo tipo que se declaró en el objeto staticField. Sólo es válido si la sonda declara un staticField. (Consulte la sección Ejemplo de sonda de staticField y staticInitializer). No es válido para sondas de sitio de llamada. |
classSourceFile | String | La información de nombre de archivo fuente disponible en los atributos de depuración del archivo de clase. Si no se dispone de información de fuente, classSourceFile es null. Para Java, el valor suele ser simplemente el nombre de archivo, sin información de vía de acceso. No es válido para sondas de sitio de llamada. |
methodNames | String | Una lista codificada de nombres y firmas de método. El orden de los métodos de esta lista es el mismo que el orden de los métodos de methodLineTables, y es el mismo que la ordenación reflejada por el elemento de datos methodNumber. La lista no incluye los nombres de los métodos que Probekit ha insertado en la clase. La serie methodNames está formada por uno o más nombres y firmas de método, separados por un signo más ("+"). Las firmas de método están formato interno Java. Por ejemplo, una clase con dos métodos, un constructor por omisión y un método run que toma un tipo String y devuelve un int, tiene esta serie methodNames: <init>()V+run(Ljava/lang/String;)I No es válido para sondas de sitio de llamada. |
methodLineTables | String | Una lista codificada de números de línea que se corresponden con cada unidad ejecutable de código de la clase. La lista no incluirá las unidades ejecutables que Probekit ha insertado en la clase. Para obtener una descripción de la codificación, consulte la sección El formato de serie de datos methodLineTables. No es válido para sondas de sitio de llamada. |
methodNumber | Integer | El número de índice de la tabla methodNames para el método en el que se ha insertado el fragmento de sonda. No es válido para sondas de sitio de llamada ni para fragmentos staticInitializer. |
executableUnitNumber | Integer | El número de la unidad ejecutable en la que se ha insertado el fragmento de sonda. Este tipo de datos sólo es válido para los fragmentos de sonda executableUnit y catch. Si el método no tiene información de línea fuente, aparece como si tuviese una única unidad ejecutable, con el número cero. |
Para especificar elementos de datos de fragmento de sonda, seleccione Fragmento en el panel de árbol y, a continuación, utilice Añadir y Editar para especificar y definir los elementos de datos en el panel de edición.