Os itens de dados de um fragmento são os nomes e os tipos de itens de dados aos quais o código fonte do fragmento pode fazer referência.
A especificação de itens de dados é opcional. Um fragmento pode conter mais de um item de dados, mas cada tipo de item pode aparecer apenas uma vez.
Propriedade | Descrição |
---|---|
Tipo de Dados | Obrigatório. Os tipos disponíveis estão listados na seguinte tabela. |
Nome | Obrigatório. Deve especificar um nome de variável Java válida. O código fonte do fragmento de probe utilizará esse nome para fazer referência aos dados indicados. |
Tipo de Dados | tipo | Descrição |
---|---|---|
className | Cadeia | Para probes de método, o nome da classe do método com probe, incluindo o nome do pacote no formato interno. Para probes callsite, o nome da classe do método chamado. Exemplo: org/eclipse/tptp/SomeClass |
methodName | Cadeia | Para probes de método, o nome do método com probe, em formato interno. Para probes callsite, o nome do método chamado. Os construtores possuem o nome do método <init> e os inicializadores de classe estática possuem o nome do método <clinit>. |
methodSig | Cadeia | O argumento do método e a assinatura do tipo de retorno, no formato interno. Não válido para fragmentos staticInitializer. Exemplo: (Ljava/lang/String;)I |
thisObject | Objeto | O objeto this (para métodos de instância) que foi transmitido para o método sondado. Não válido para fragmentos staticInitializer. thisObject é null para métodos estáticos, para fragmentos entry aplicados a construtores e para fragmentos exit aplicados a construtores quando o construtor emite uma exceção. |
args | Objeto[] | Uma matriz de referências Objeto que representa os argumentos para o método sondado. Há um elemento nessa matriz em cada argumento para o método (sem contar o argumento this). Os argumentos que são tipos primitivos são encaixotados em objetos temporários do tipo de referência apropriado, por exemplo: Integer para int. Se o método não utilizar nenhum argumento, o tamanho da matriz Object[] será zero. Observe que os construtores para classes internas não estáticas têm um argumento oculto por nível "interno", portanto, a matriz do argumento conterá mais elementos do que aqueles que aparecem no código fonte. Não válido para fragmentos staticInitializer. |
returnedObject | Objeto | Uma referência ao objeto que está sendo retornado. Esse tipo está disponível apenas para fragmentos exit e afterCall. Se o tipo de retorno do método sondado for um tipo primitivo, o valor retornado será ligado em um objeto temporário do tipo de referência adequado. Se o método for void (não retorna um valor) ou se sair por exceção, returnedObject será null. |
exceptionObject | Lançável | Uma referência ao objeto de exceção que está sendo lançado. Esse tipo está disponível apenas para fragmentos catch e exit. Se o método sair normalmente, exceptionObject será null. |
isFinally | booleano | Um sinalizador indicando se o fragmento foi chamado a partir de uma cláusula finally (true) ou de uma cláusula catch (false). Válido apenas em fragmentos catch. |
staticField | (varia) | O objeto referido pelo campo estático. Seu tipo é igual àquele que foi declarado no objeto staticField. Isso será válido apenas se o probe declarar um staticField. (Consulte Um Exemplo de Probe staticField e staticInitializer.) Não válido para probes callsite. |
classSourceFile | Cadeia | Informações do nome do arquivo de origem disponíveis a partir dos atributos de depuração do arquivo de classe. Se não houver nenhuma informação de origem, classSourceFile será null. Para Java, o valor é normalmente apenas o nome do arquivo, sem informações de caminho. Não válido para probes callsite. |
methodNames | Cadeia | Uma lista codificada de nomes e assinaturas de método. A ordem dos métodos nessa lista é a mesma ordem dos métodos em methodLineTables e é a mesma ordem refletida pelo item de dados methodNumber. A lista não inclui os nomes de nenhum método inserido na classe pelo Probekit. A cadeia methodNames consiste em um ou mais nomes e assinaturas de métodos, separados por um sinal de mais ("+"). As assinaturas de métodos estão no formato interno Java. Por exemplo, uma classe com dois métodos, um construtor padrão e um método run que utiliza uma String e retorna um int, possui esta cadeia methodNames: <init>()V+run(Ljava/lang/String;)I Não válido para probes callsite. |
methodLineTables | Cadeia | Uma lista codificada de números de linha que correspondem a cada unidade executável do código na classe. A lista não inclui unidades executáveis que foram inseridas na classe pelo Probekit. Para obter uma explicação sobre a codificação, consulte O Formato da Cadeia de Dados methodLineTables. Não válido para probes callsite. |
methodNumber | Inteiro | O número do índice na tabela methodNames para o método no qual o fragmento do probe foi inserido. Não é válido para probes callsite ou fragmentos staticInitializer. |
executableUnitNumber | Inteiro | O número da unidade executável em que o fragmento de probe foi inserido. Esse tipo de dados é válido apenas para fragmentos de probe executableUnit e de captura. Se o método não possuir informações de linha de origem, ele parecerá ter uma unidade executável única, numerada com zero. |
Para digitar itens de dados de fragmentos de probe, selecione Fragmento na área de janela da árvore e utilize Incluir e Editar para digitar e definir os itens de dados na área de janela de edição.