Os artigos de dados de um fragmento são os nomes e os tipos de artigos de dados que o código fonte do fragmento pode referenciar.
A especificação de artigos de dados é opcional. Um fragmento pode conter mais do que um artigo de dados, mas cada tipo de artigo só pode aparecer uma vez.
Propriedade | Descrição |
---|---|
Tipo de Dados | Necessário. Os tipos disponíveis encontram-se enumerados na tabela seguinte. |
Nome | Necessário. Deve especificar um nome de variável Java válido. O código fonte do fragmento de sonda utiliza este nome para remeter para os dados indicados. |
Tipo de Dados | tipo | Descrição |
---|---|---|
className | Cadeia de caracteres | No caso de sondas de método, o nome da classe do método sondado, incluindo o nome do pacote, em formato interno. No caso de sondas de callsite, o nome da classe do método chamado. Exemplo: org/eclipse/tptp/SomeClass |
methodName | Cadeia de caracteres | No caso de sondas de método, o nome do método do método sondado, em formato interno. No caso de sondas de callsite, o nome do método do método chamado. Os construtores têm o nome de método <init> e os inicializadores de classes estáticas têm o nome de método <clinit>. |
methodSig | Cadeia de caracteres | A assinatura do tipo de retorno e argumento do método, em formato interno. Não é válido para fragmentos staticInitializer. Exemplo: (Ljava/lang/Cadeia de caracteres;)I |
thisObject | Objecto | O objecto (este) 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 que são aplicados a construtores, e para fragmentos exit aplicados a construtores quando o construtor devolver uma excepção. |
args | Object[] | Uma matriz de referências Object representando os argumentos para o método sondado. Existe um elemento nesta matriz para cada argumento para o método (sem contar com o argumento this). Os argumentos que sejam tipos primitivos são encaixados em objectos temporários do tipo de referência apropriado, por exemplo: Número inteiro para int. Se o método não comportar argumentos, o tamanho da matriz de Object[] será zero. Repare que os construtores para classes internas não estáticas têm um argumento oculto por nível "interno", de modo que a matriz de argumentos irá conter mais elementos do que aparecem no código fonte. Não é válido para fragmentos staticInitializer. |
returnedObject | Objecto | Uma referência ao objecto a ser devolvido. Este tipo está disponível somente para fragmentos exit e afterCall. Se o tipo de retorno do método sondado for primitivo, o valor devolvido é associado a um objecto temporário do tipo de referência apropriado. Se o método for void (não devolver valor nenhum) ou se sair por excepção, returnedObject será null. |
exceptionObject | Devolutivo | Uma referência ao objecto de excepção a ser devolvido. Este tipo está disponível somente para fragmentos catch e exit. Se o método sair normalmente, exceptionObject será null. |
isFinally | booleano | Um sinalizador indicando se o fragmento foi chamado de uma cláusula finally (verdadeira) ou de uma cláusula catch (falsa). Válido somente em fragmentos catch. |
staticField | (varia) | O objecto ao qual se refere o campo estático. O tipo é o mesmo tipo que tenha sido declarado no objecto staticField. Só é válido se a sonda declarar um staticField. (Consulte Exemplo de sonda staticField e staticInitializer.) Não são válidos para sondas de callsite. |
classSourceFile | Cadeia de caracteres | As informações sobre o nome do ficheiro de origem disponíveis a partir dos atributos de depuração do ficheiro de classes. Caso não haja informações de origem, classSourceFile será null. Para Java o valor geralmente é só o nome do ficheiro sem informações de caminho. Não são válidos para sondas de callsite. |
methodNames | Cadeia de caracteres | Uma lista codificada de nomes e assinaturas de métodos. A ordem dos métodos nesta lista é a mesma que a ordem dos métodos em methodLineTables, e é a mesma que a ordem reflectida pelo artigo de dados methodNumber. A lista não inclui os nomes de métodos que tenham sido inseridos na classe pelo Probekit. A cadeia de caracteres methodNames consiste em um ou mais nomes e assinaturas de métodos, separados pelo sinal + (mais). As assinaturas de métodos são em formato interno Java. Por exemplo, uma classe com dois métodos, um construtor predefinido, um método run que leve uma Cadeia de caracteres e devolva um int, tem esta cadeia de caracteres methodNames: <init>()V+run(Ljava/lang/String;)I Não são válidos para sondas de callsite. |
methodLineTables | Cadeia de caracteres | Uma lista codificada d enúmeros de linha que correspondem a cada unidade executável de código na classe. A lista não inclui unidades executáveis que tenham sido inseridas na classe pelo Probekit. Para uma explicação da codificação, consulte O formato de cadeia de caracteres de dados methodLineTables. Não são válidos para sondas de callsite. |
methodNumber | Número inteiro | O número do índice na tabela methodNames relativa ao método no qual foi inserido o fragmento de sonda. Não é válido para sondas de callsite ou fragmentos staticInitializer. |
executableUnitNumber | Número inteiro | O número da unidade executável em que foi inserido o fragmento de sonda. Este tipo de dados só é válido para fragmentos de sonda executableUnit e catch. Se o método não tiver informações de linha origem, parecerá ter uma única unidade executável, numerada a zero. |
Para introduzir artigos de dados de fragmento de sonda, seleccione Fragmento na área de janela dem árvore e utilize Adicionar e Editar para introduzir e definir os artigos de dados na área de janela de edição.