O Fragmento Probe executableUnit

O fragmento probe executableUnit permite executar coleta de dados detalhada para métodos que correspondem à especificação de destino e filtro da probe e que têm informações disponíveis sobre o código fonte.

Uma chamada para esse tipo de fragmento é inserida antes de cada "unidade executável" no método de destino. Para métodos que correspondem à especificação de destino e filtro da probe, mas não têm nenhuma informação sobre o código fonte, o fragmento é inserido uma vez, no início do método.

Os fragmentos executableUnit podem utilizar todos os tipos de dados, exceto returnedObject, exceptionObject, isFinally e thisObject. O mais importante é que eles podem utilizar o item de dados executableUnitNumber, que contém o número da unidade executável que está prestes a ser executada.

O número de unidades executáveis em um método e as tabelas de linha não incluirão unidades executáveis inseridas no método pelo Kit Probe.

Unidades Executáveis e Blocos Básicos

Um unidade executável começa no início de cada bloco básico e em cada código de byte cujo número de linha de origem é diferente do código de byte anterior. Um bloco básico é uma região de instruções do código de byte que não podem ser ramificadas para fora ou para dentro. Quando a primeira instrução em um bloco básico é executada, todas as instruções serão executadas para que sejam consideradas como um único grupo.

Os blocos básicos terminam com as instruções branch, call, throw e return, entre outras.

Algumas instruções, como "divide", não são consideradas o fim de uma unidade executável, apesar do fato de elas poderem lançar uma exceção. Essa é uma outra forma que uma unidade executável não ser tecnicamente a mesma de um bloco básico.

Se um método Java não tiver nenhuma informação de origem associada, o método inteiro será considerado como tendo apenas uma unidade executável.

Tópico-pai: Referência do Kit Probe

Referência Relacionada
O Objeto Probe Fragment
O Objeto Probe Data

Informações Relacionadas
Exemplo de ExecutableUnit

Copyright IBM Corporation e outros 2000, 2004.