Os objetos de sondagem 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 de sondagem 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 | Requerida. Deve especificar um nome de variável Java válida. |
| type | Requerida. Os tipos disponíveis estão listados na seguinte tabela. |
| Tipo | Tipo de dados | Descrição |
|---|---|---|
| className | Cadeia | O nome da classe do método sondado, incluindo o nome do pacote, no formato interno. Exemplo: org/eclipse/hyades/SomeClass |
| methodName | Cadeia | 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 | 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 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 | Objeto | 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 | 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. Ele será válido apenas se a sondagem também tiver o objeto staticField. Não válido para sondagens 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 sondagens 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 incluirá os nomes de nenhum método que foi inserido na classe pelo Kit de Sondagem. 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 sondagens 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 incluirá unidades executáveis que foram inseridas na classe pelo Kit de Sondagem. Para obter uma explicação da codificação, consulte O Formato de Cadeia methodLineTables. Não válido para sondagens callsite. |
| methodNumber | Inteiro | O número do índice na tabela methodNames para o método no qual o fragmento da sondagem foi inserido. Não válido para sondagens callsite ou fragmentos staticInitializer. |
| executableUnitNumber | Inteiro | O número da unidade executável em que o fragmento de sondagem foi inserido. Esse tipo de dados é válido apenas para os fragmentos de sondagem 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 de Sondagem Fragment
Tópico-pai: Referência do Kit de Sondagem