Hi you all, we have been trying to debug java programs without having the source code (having only the jar files with .class). The main goal of this task was to be able to debug through .class files and being able to step through the code having the debugger always showing the correct line of the code.
Finally, we succeeded with the help of a combination of jd-eclipse and its extension jd-eclipse realignment fragment.
- JD-Eclipse – http://java.decompiler.free.fr/?q=jdeclipse
- Realignment fragment – http://java.decompiler.free.fr/?q=node/464
The process for installing this is quite simple:
- Install JD-Eclipse following the steps provided in the JD-Eclipse site (the process is quite simple) http://java.decompiler.free.fr/?q=jdeclipse
- Restart Eclipse
- Download Realignment realignment.jd.ide.eclipse_1.0.2.jar – https://sourceforge.net/projects/realignmentjd/files/
- Copy the file to the <Eclipse installation folder>\dropins
- Restart Eclipse
- Go to Windows -> Preferences
- Navigate to General -> Editors -> File Associations
- Select *.class in the File types section, select Realignment for JD Class File Editor in the Associated editors section and click the Default button.
- Press OK and start debugging!
The association should look like this:
Let me know if you face any problems with this procedure and I’ll try to help!
Note: I have empirically found out that in order for the source to be found if the jar files being used in the project belong to a different project, they need to be added to the build path as “Add External JARs…“.Otherwise if “Add Jar”, is used you will get this message when stepping into a class from that JAR: