在 D:\Java\jdk1.8.0_91\lib 的目录下运行以下命令
java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB
出现以下报错
D:\Java\jdk1.8.0_91\lib>java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB
Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError: Can't load library: D:\Java\jre\bin\sawindbg.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.<clinit>(WindbgDebuggerLocal.java:661)
at sun.jvm.hotspot.HotSpotAgent.setupDebuggerWin32(HotSpotAgent.java:567)
at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:335)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.HSDB.attach(HSDB.java:1184)
at sun.jvm.hotspot.HSDB.access$1700(HSDB.java:53)
at sun.jvm.hotspot.HSDB$25$1.run(HSDB.java:456)
at sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:66)
at java.lang.Thread.run(Unknown Source)
出现该错误的原因是因为sawindbg.dll文件没有copy到正确的目录下
sawindbg.dll应该出现在以下三个地方
D:\Java\jdk1.8.0_91\bin (JDK的bin目录下)
D:\Java\jdk1.8.0_91\jre (JDK的jre目录下)
D:\Java\jre (java的jre目录下) 这个最容易文件,一定要区分jdk的jre与java的jre
输入命令,正常启动