Entry
Java: Disassemble: How to disassemble on the command line? [javap.exe]
Apr 22nd, 2006 09:56
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 22 April 2021 - 04:45 pm ----------------------
Java: Disassemble: How to disassemble on the command line? [javap.exe]
===
To disassemble, run e.g. the program
javap.exe
===
Steps: Overview:
1. -Possibly download and install the Sun Java JDK
(because this installs also the program javap.exe)
2. -Open an MSDOS box and type the following command
(the filename without the .class or .java file extension)
javap.exe <myJavaClassFilename>
e.g.
javap.exe HelloWorld
3. -That will show a screen output similar to the following:
--- cut here: begin --------------------------------------------------
javad HelloWorldApplet
Compiled from "HelloWorldApplet.java"
public class HelloWorldApplet extends java.applet.Applet{
public HelloWorldApplet();
public void paint(java.awt.Graphics);
}
--- cut here: end ----------------------------------------------------
4. -To compare this output, this was the original Java
program
--- cut here: begin --------------------------------------------------
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet {
public void paint( Graphics g ) {
g. drawString( "Hello world!", 50, 25 );
}
}
--- cut here: end ----------------------------------------------------
5. -For a list of command line parameters, type
javap.exe -help
1. -That will show a screen output similar to the following:
--- cut here: begin --------------------------------------------------
javap.exe -help
Usage: javap <options> <classes>...
where options include:
-c Disassemble the code
-classpath <pathlist> Specify where to find user class files
-extdirs <dirs> Override location of installed extensions
-help Print this usage message
-J<flag> Pass <flag> directly to the runtime
system
-l Print line number and local variable
tables
-public Show only public classes and members
-protected Show protected/public classes and members
-package Show package/protected/public classes
and members (default)
-private Show all classes and members
-s Print internal type signatures
-bootclasspath <pathlist> Override location of class files loaded
by the bootstrap class loader
-verbose Print stack size, number of locals and
args for methods If verifying, print
reasons for failure
--- cut here: end ----------------------------------------------------
===
Internet: see also:
---
----------------------------------------------------------------------