El fragmento de sonda executableUnit

El fragmento de sonda executableUnit le permite recopilar datos de manera precisa para los métodos que coinciden con la especificación de destino y filtro de la sonda, y que disponen de información de código fuente.

Una llamada a este tipo de fragmento se inserta antes de cada "unidad ejecutable" en el método de destino. En el caso de los métodos que coinciden con la especificación de destino y filtro de la sonda pero no tienen información de código fuente, el fragmento se inserta una vez, al principio del método.

Los fragmentos executableUnit pueden utilizar todos los tipos de elementos de datos excepto returnedObject, exceptionObject, isFinally y thisObject. Y lo que es más importante, pueden utilizar el elemento de datos executableUnitNumber, que contiene el número de la unidad ejecutable que está a punto de ejecutarse.

El número de unidades ejecutables de un método y de las tablas de líneas no incluirán las unidades ejecutables que ProbeKit ha insertado en el método.

Unidades ejecutables y bloques básicos

Una unidad ejecutable empieza al principio de cada bloque básico y en cada código de bytes cuyo número de línea fuente es distinto del código de bytes anterior. Un bloque básico es una región de instrucciones de código de bytes que no puede ramificarse ni formar parte de ninguna ramificación. Cuando se ejecuta la primera instrucción de un bloque básico, se ejecutarán todas las instrucciones, de modo que se considera que las instrucciones constituyen un único grupo.

Los bloques básicos terminan con las instrucciones branch, call, throw y return, entre otras.

Algunas instrucciones, como por ejemplo "divide," no se consideran como final de una unidad ejecutable, a pesar de que pueden lanzar una excepción. Éste es otro ejemplo de que una unidad ejecutable no es técnicamente lo mismo que un bloque básico.

Si un método Java no tiene información de origen asociada, se considera que todo el método sólo tiene una unidad ejecutable.

Tema principal: Consulta de elemento de ProbeKit

Referencia relacionada
El objeto de sonda Fragment
El objeto de sonda Data

Información relacionada
Ejemplo de ExecutableUnit

Terms of use | Feedback
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.