O objeto Fragment da probe é uma especificação da lógica de uma probe. Ele contém o código fonte Java que será executado.
Pelo menos um objeto Fragment é requerido. Ele contém o objeto Code e todos os itens de dados que são referenciados pelo código fonte no objeto Code. Uma probe pode conter mais de um objeto Fragment, mas dois objetos Fragment não podem ter o mesmo type.
Propriedade | Descrição |
---|---|
type | Obrigatório. Para probes de método, ele deve ser entry, exit, catch, staticInitializer ou executableUnit. Para probes de callsite, ele deve ser beforeCall ou afterCall. Não é possível misturar fragmentos de método e fragmentos de callsite em uma única probe. |
Tipo de fragmento | Tipo de probe | Descrição |
---|---|---|
entry | Método | Os fragmentos entry são executados após a entrada no método. Os fragmentos entry não serão executados para os métodos que foram inseridos na classe por Probekit. |
exit | Método | Os fragmentos exit são executados após a saída do método; tanto uma saída normal, quando o método lança uma exceção ou quando uma exceção lançada é propagada para fora do método. Os fragmentos exit não serão executados para os métodos que foram inseridos na classe por Probekit. |
catch | Método | Os fragmentos catch são executados no início de uma cláusula catch no método ou no início de uma cláusula finally executada como resultado de uma exceção. |
staticInitializer | Método | Os fragmentos staticInitializer são executados dentro do inicializador de classes de todas as classes com probe. Se a classe ainda não possuir um inicializador estático, ele será criado. Para obter informações adicionais, consulte O Fragmento staticInitializer da Probe. |
executableUnit | Método | Os fragmentos executableUnit são executado antes de cada unidade de código executável nos métodos que correspondem à especificação de destino e filtro da probe e para os quais o código fonte esteja disponível. Se o método não possuir informações de linha de origem, ele aparecerá como tendo uma única unidade executável, numerada como zero. Para obter informações adicionais, consulte O Fragmento executableUnit da Probe. |
beforeCall | callsite | Os fragmentos beforeCall são executados no método responsável pela chamada precedendo imediatamente a chamada do método de destino. Não são válidos para probes de método. |
afterCall | callsite | Os fragmentos afterCall são executados no método responsável pela chamada logo após a saída do método de destino; tanto uma saída normal ou quando o método de destino lança uma exceção. Não são válidos para probes de método. |
<fragment type="entry"> <data . . . /> <code> . . . </code> </fragment>
Contido por
O Objeto Probe
Tópico Pai: Referência de Elemento de Probekit
Referências Relacionadas
Exemplos do Probekit
O Fragmento executableUnit da Probe
O Fragmento staticInitializer da Probe