Os objetos probe Data contêm os nomes e os tipos de itens de dados que são referidos pelo código fonte em um objeto Code do fragmento.
O objeto Data é opcional. Um fragmento probe pode conter mais de um objeto Data, mas dois objetos Data em um fragmento não podem ter o mesmo tipo ou nome.
Propriedade | Descrição |
---|---|
name | Obrigatório.Deve especificar um nome válido de variável Java. |
type | Obrigatório.Os tipos disponíveis estão listados na seguinte tabela. |
Type | Tipo de dados | Descrição |
---|---|---|
className | String | O nome da classe do método sondado, incluindo o nome do pacote, no formato interno. Exemplo: org/eclipse/hyades/SomeClass |
methodName | String | O nome do método sondado, no formato interno. Não válido para fragmentos staticInitializer. Construtores têm o nome do método <init>, inicializadores de classe estática têm <clinit> como o nome do método. |
methodSig | String | 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 | Object | 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 será null para métodos estáticos, para fragmentos entry que são aplicados aos construtores e para fragmentos exit aplicados a construtores quando o construtor lança 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). Argumentos que são tipos primitivos são ligados em objetos temporários do tipo de referência adequado, por exemplo: Integer para int. Se o método não utilizar nenhum argumento, ele será uma matriz Objeto[] de tamanho 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 | Object | Uma referência ao objeto que está sendo retornado. Esse tipo está disponível apenas para fragmentos exit. 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 estiver sendo gerado por uma exceção, returnedObject será null. Válido apenas em fragmentos afterCall. |
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 estiver sendo gerado normalmente, exceptionObject será null. |
isFinally | boolean | 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. Ele será válido apenas se a probe também tiver o objeto staticField. Não válido para probes callsite. |
classSourceFile | String | 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 | String | 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 incluirá os nomes de nenhum método que foi inserido na classe pelo Kit Probe. 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 de um método run que utiliza uma Cadeia e retorna um int, tem esta cadeia methodNames: <init>()V+run(Ljava/lang/String;)I Não válido para probes callsite. |
methodLineTables | String | Uma lista codificada de números de linha que correspondem a cada unidade executável do código na classe. A lista não incluirá unidades executáveis que foram inseridas na classe pelo Kit Probe. Para obter uma explicação da codificação, consulte Formato de Cadeia 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 da 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 probe foi inserido. Esse tipo de dados é válido apenas para os fragmentos probe executableUnit e catch. Se o método não tiver informações sobre a linha de origem, ele parecerá ter uma única unidade executável, numerada com zero. |
<data type="className" name="__class" />
Contido por
O Objeto Probe Fragment
Tópico-pai: Referência do Kit Probe