El objeto de sonda Fragment es una especificación de la lógica de una sonda. Contiene el código fuente Java que se ejecutará.
Se requiere como mínimo un objeto Fragment. Contiene el objeto Code, así como todos los elementos de datos a los que hace referencia el código fuente en el objeto Code. Una sonda puede contener más de un objeto Fragment, pero dos objetos Fragment no pueden tener el mismo type.
Propiedad | Descripción |
---|---|
type | Obligatoria. Para las sondas de método, debe ser entry, exit, catch, staticInitializer o executableUnit. Para las sondas de sitio de llamada, debe ser beforeCall o afterCall. No se pueden mezclar fragmentos de método y fragmentos de sitio de llamada en una misma sonda. |
Tipo de fragmento | Tipo de sonda | Descripción |
---|---|---|
entry | Método | Los fragmentos entry se ejecutan en la entrada de método. Los fragmentos entry no se ejecutarán para los métodos que ProbeKit ha insertado en la clase. |
exit | Método | Los fragmentos exit se ejecutan en la salida de método; puede ser una salida normal, cuando el método lanza una excepción, o bien cuando una excepción lanzada se propaga fuera del método. Los fragmentos exit no se ejecutarán para los métodos que ProbeKit ha insertado en la clase. |
catch | Método | Los fragmentos catch se ejecutan al principio de una cláusula catch del método, o bien al principio de una cláusula finally que se ejecuta como resultado de una excepción. |
staticInitializer | Método | Los fragmentos staticInitializer se ejecutan dentro del inicializador de cada clase sondeada. Si la clase todavía no tiene un inicializador estático, se creará uno. Para obtener más información, consulte el apartado El fragmento de sonda staticInitializer. |
executableUnit | Método | Los fragmentos executableUnit se ejecutan antes de cada unidad ejecutable de código en los métodos que coinciden con la especificación de destino y filtro de la sonda, y para los que se dispone de código fuente. Si el método no tiene información de línea de origen, aparecerá como si tuviese una única unidad ejecutable, con el número cero. Para obtener más información, consulte el apartado El fragmento de sonda executableUnit. |
beforeCall | sitio de llamada | Los fragmentos beforeCall se ejecutan en el método llamante inmediatamente antes de que se llame al método de destino. No son válidos para sondas de método. |
afterCall | sitio de llamada | Los fragmentos afterCall se ejecutan en el método llamante inmediatamente después de la salida del método de destino; puede ser una salida normal o cuando el método de destino lanza una excepción. No son válidos para sondas de método. |
<fragment type="entry"> <data . . . /> <code> . . . </code> </fragment>
Contenido por
El objeto Probe
Tema principal: Consulta de elemento de ProbeKit
Referencia relacionada
Ejemplos de ProbeKit
El fragmento de sonda executableUnit
El fragmento de sonda staticInitializer