Pergunta

Procurando por livros ou outras referências que abordam, na verdade, como para escrever uma ferramenta de cobertura de código em Java;algumas das várias técnicas ou truques - de origem vs.byte instrumentação de código.

Esta é uma linguagem de script que gera Java de código de byte sob o capô.

Nenhuma solução correta

Outras dicas

Sua linguagem de script gerar bytecode?Não é gerar depuração de metadados?Se assim for, a instrumentação de bytecode é, provavelmente, o caminho a percorrer.Na verdade, as ferramentas existentes provavelmente irá trabalhar (talvez com o mínimo de modificação).

O problema típico de tais ferramentas em que são escritas para trabalhar com Java e suponha que um class com.foo.Bar.class corresponde a um arquivo com/foo/Bar.java.O desenrolar essa suposição pode ser entediante.

EMMA é um carregador de classe que faz byte-código de re-escrever o código-cobertura de coleta em Java.O estilo de codificação é um pouco diferente, mas eu recomendo a leitura de código de origem para algumas ideias.

Se sua linguagem de script é interpretado, em seguida, você vai precisar de um maior nível de carregador de classe (a um nível de fonte) que conecta o intérprete.

Você também pode obter o código fonte a partir de uma Fonte Aberta ferramenta de cobertura de código e aprender com ele.

Thxm, Mc! http://asm.objectweb.org/ é outro. Excelente documentação em bytes instrumentação de código, mas nada "diretamente", que visa a escrita de uma ferramenta de cobertura de apenas algumas dicas ou ideias.

Você também pode querer usar algo como BCEL, para analisar quais linhas de origem, na verdade, existe no código de bytes.Você não quer relatório que coisas como linhas em branco e comentários ainda não foram abordados.

Se você está falando sobre o ColdFusion (que eu suponho que você está de tags) em seguida, eu não tenho certeza se isso é factível, mas eu posso estar muito errado aqui...

IIRC, Quando a CF compila-se, essencialmente compila em uma interpretado forma do CFML como uma simples arquivo de origem java, este é então compilado para a classe.Portanto, qualquer instrumentação, que você poderá ter será aplicada para o intermediário e não a versão CFML si.

Dizer isso, porém, a Adobe tem o CF depurador agora que podem passo que o código, então, por favor, provar que eu estou errado eu gostaria muito de cobertura de código em CFML.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top