Pergunta

Gostaria de saber se há alguma soluções para o Eclipse IDE depurar o código Java para o qual não tenho fonte, ou seja, depurar o código decompilado dinamicamente, passar por ele etc.? Eu tentei usar JD-Eclipse, Jadclipse, e esses plug-ins funcionam muito bem se eu quiser olhar para alguns arquivos de classe, mas, como depuro, recebo "a fonte não encontrada". - Como posso "anexar" esses plug-ins a "fornecer" a fonte?

Meu ambiente:

  • Eclipse 3.5
  • Windows XP (mas procuro uma solução de plataforma cruzada, se possível)

Obrigada.

Foi útil?

Solução

Eu tenho uma boa experiência com Jadclipse - http://jadclipse.sourceforge.net/wiki/index.php/main_page - Existe um site de atualização em http://jadclipse.sf.net/update

Para obter melhores resultados, use o JAD e configure -o para listar os números da linha como comentários que permitirão a saída onde o código estiver na linha correta. Isso é melhor para sessões de depuração.

Em seguida, defina -o como a visualização padrão para as classes. Veja a documentação para detalhes. Isto funciona bem para mim.

Outras dicas

Eu tenho o mesmo problema. Hoje, nenhum decompilers é eficaz para depurar o código Java compilado. Estou trabalhando no JD-Eclipse. Nos próximos 3 a 6 meses, o layout do JD-Eclipse deve ser realmente melhorado. Começaremos a depurar aulas sem fontes e resolveremos alguns problemas intratáveis.

Fragmento de realinhamento para plug-in de host JD-Eclipse. Esse plug-in para o Eclipse torna os números de linha de código descompilados realmente apropriados para os números de linha do arquivo de classe Java. Como resultado, torna -se possível depuração sem código -fonte. https://sourceforge.net/projects/realignmentjd/

Esperamos que este plugin seja de ajuda. JD-Eclipse

No Eclipse Open Window -> Preferências -> Geral -> Editores -> Associações de Arquivos Selecione *.Class Tipo de arquivo associado a JD -Eclipse Defina -o como padrão

Boa sorte

Você pode usar o JD-GUI para descompilar arquivos JAR e salvar o lote inteiro em um arquivo zip de origem que pode ser adicionado à lista de pesquisa de origem (via caminho de criação de configuração).

O problema com o JD-gui é que os números de linha estão divulgados, o que dificulta a depuração muito difícil, então você precisa

  1. Extrair os arquivos de origem do arquivo zip de origem descompilado
  2. Execute o script encontrado em https://bushlife.com.au/groups/python/wiki/7539a/adjust_line_numbers_in_file.html
  3. Faça o backup da fonte gerada
  4. Adicione -o como o caminho de origem associado ao seu arquivo java - usando o caminho de criação de configuração após clicar com o botão direito do mouse no arquivo JAR no seu projeto Java.

Decompilar todas as classes, coloque todos os arquivos Java encomendados na hierarquia adequada (diretório de pacote, etc.) e adicione -os como a fonte do jar original clicando com o botão direito do lado do arquivo JAR -> Java Orince Anexment -> Pasta externa.

Você também pode tê -los dentro de uma pasta no projeto (clique no espaço de trabalho neste caso)

A solução que funcionou para mim está usando o JD-Eclipse após aplicar o patch: http://java.decompiler.free.fr/?q=node/464

Esta é uma extensão do JD-Eclipse que realinha o código após a descompilação.

Ao depurar com o Eclipse, você só precisa ter os arquivos JAR no caminho de classe e é isso! Não há necessidade de descompilar todo o pote, realinhar ou qualquer coisa ... apenas depure e seja feliz :-)

Veja como fazer:http://gauchoacomecable.wordpress.com/2011/10/14/eclipse-debug-java-without-source-code-jd-eclipse-and-realignment/

Aumentei o plug -in "Realignment for JD Eclipse" para alinhar adequadamente enumes e campos e publiquei junto com o JD Eclipse no meu próprio site de atualização: http://mchr3k-eclipse.appspot.com/

Detalhes sobre minhas mudanças: http://mchr3k-coding.blogspot.co.uk/2012/07/realignment-for-jd-eclipse.html

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