Debugando jar sem ter o código fonte no eclipse [RESOLVIDO]

8 respostas
M

Eu já fiz isso uma vevz mas não me lembro como.
Eu estou querendo debugar uma classe dentro do arquivo jar, porém não tem o fonte desse arquivo. Eu sei que é possível fazer isso, mas não lembro como. Alguém saberia me dizer?

8 Respostas

G

Olá,

Debugar sem o código-fonte não é possível, ele é necessário mesmo que seja obtido por descompilação do jar.

Teoricamente as tarefas de debug (colocar breakpoint, inspecionar variaveis, etc) podem ser feitas sem o código-fonte através do debugger remoto de linha de comando, mas não faria nenhum sentido uma vez que não dá para saber o que está acontecendo nem o que deve ser examinado.

O que recomendo no seu caso é descompilar as classes desejadas para obter o código-fonte (mas não sei se existe risco de ele não ser identico ao original)

S

MauNunes:
Eu já fiz isso uma vevz mas não me lembro como.
Eu estou querendo debugar uma classe dentro do arquivo jar, porém não tem o fonte desse arquivo. Eu sei que é possível fazer isso, mas não lembro como. Alguém saberia me dizer?

Tu é ninja mesmo. Mas vamos lá, sem fonte é impossivel. O que vc pode fazer é o que nosso amigo acima falou, decompila os os .class, cria um novo projeto com esses codigos decompilados e debuga. Uma ferramenta boa para decompilação é o Cavaj, pode usar sem medo! Espero ter ajudado.

M

Não é necessário fazer a descompilaçáo dos .class munualmente para debugar, o próprio eclipse fazia a descompilação automaticamente quando entrava na classe. Porem não me lembro como era feito isso.
E quando me refiro a sem código fonte, estou me referindo ao .java.

S

MauNunes:
Não é necessário fazer a descompilaçáo dos .class munualmente para debugar, o próprio eclipse fazia a descompilação automaticamente quando entrava na classe. Porem não me lembro como era feito isso.
E quando me refiro a sem código fonte, estou me referindo ao .java.

Ou seja, ele decompila o .class pra vc. E mesmo assim, pra se debugar esse jar, vc teria de reempacotar e roda-lo, e pra isso se faz necessário o codigo fonte ( .java ), para ser compilado em .class e refetir as mudanças de seu debug!

M

Eu disse que eu quero apenas debugar. Em nenhum momento disse que quero fazer alterações no código. Logo na irei precisar do .java. Quando conseguir fazer o debug, posto para todos aqui no fórum.

S

Se vc está debugando é pq ta dando erro, se ta dando erro o mesmo deve ser corrigido e para ser corrigido vc deve alterar seu fonte para tal, logo…

M

Não quero arrumar nada, apenas quero ver como a coisa está funcionando internamente.

M

Segue o link de como fazer utilizando o JadClipse

Criado 18 de maio de 2011
Ultima resposta 19 de mai. de 2011
Respostas 8
Participantes 3