What is the good Java debugger for .class files, if no source code available? jdb is seems pretty weak :( I don't need to decompile .class, but I want to debug bytecode.
2 Answers
Bytecode Visualizer
Inspect, understand and debug Java bytecode, no matter if you have the corresponding source.
JSwat Debugger
JSwat is a graphical Java debugger front-end, written to use the Java Platform Debugger Architecture and based on the NetBeans Platform. Its features include sophisticated breakpoints; colorized source code display with code navigator; movable display panels showing threads, call stack, visible variables, and loaded classes; command interface for more advanced features; and Java-like expression evaluation, including method invocation.
Java ByteCode Debugger (JBCD)
JBCD is an interactive debugger for Java bytecode. It allows a programmer to step through bytecode one statement at time. The tool is indended for people who are writing programs to generate or modify bytecode. JBCD can be used with any Java compiler
Bytecode Viewer
Bytecode Viewer is a Java Bytecode Viewer, GUI Procyon Java Decompiler, GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger and more. It's written completely in Java, and it's open sourced.
JavaSnoop
A tool that lets you intercept methods, alter data and otherwise hack Java applications running on your computer.
Bytecode Outline
Bytecode Outline plugin shows disassembled bytecode of current java editor or class file, allows bytecode/ASMifier code compare for java/class files and shows ASMifier code for current bytecode. It also allows to disassemble and debug classes without attached source code on any operating system where Eclipse is running.
Addendum: This blog from Crowdstrike Inc. will also be helpful
-
1Thanks for the blog link! I'll talk to our webmaster to see if he can fix the broken images. Jan 10, 2015 at 19:02
-
Just a note to say that your first offering, Bytecode Visualizer, does not show you the stack or variable table, which is kind of a major limitation. I take it from your description that JSwat does, but that seems to be discontinued. Jul 1, 2015 at 1:34