32 位 jdk1.7 使用 VisualVM1.3.8 为何会报错

2015-10-13 15:43:07 +08:00
 fangwenshan
# 系统环境:
* win7 旗舰版 64 位
* JDK 1.7 build 1.7.0-b147
* JDK 1.7 64bit build 1.7.0_79-b15
* VisualVM 1.3.8

# 运行程序:
* 32 位的 Spring Tool Suite 3.7.1.RELEASE (就当成是 Eclipse 就行了)
* 64 位的 Android Studio 1.3.1

# 使用步骤:
直接从[官网]( http://visualvm.java.net/)下载,然后直接运行,打开 STS 后,会看到“ eclipse ”点击之后无反应,看日志报下列错误:

`java.lang.NoSuchMethodError: sun.tools.attach.HotSpotVirtualMachine.executeJCmd(Ljava/lang/String;)Ljava/io/InputStream;
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.loadManagementAgentViaJcmd(JmxModelImpl.java:798)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.loadManagementAgent(JmxModelImpl.java:752)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.startManagementAgent(JmxModelImpl.java:728)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.tryConnect(JmxModelImpl.java:536)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.connect(JmxModelImpl.java:506)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.connect(JmxModelImpl.java:234)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.<init>(JmxModelImpl.java:204)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:64)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:41)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.tools.jmx.JmxModelFactory.getJmxModelFor(JmxModelFactory.java:69)
at com.kodewerk.visualvm.memorypools.MemoryPoolViewProvider.supportsViewFor(MemoryPoolViewProvider.java:41)
at com.kodewerk.visualvm.memorypools.MemoryPoolViewProvider.supportsViewFor(MemoryPoolViewProvider.java:35)
at com.sun.tools.visualvm.core.ui.DataSourceViewsManager.getViews(DataSourceViewsManager.java:136)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.openWindowAndAddView(DataSourceWindowManager.java:189)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.access$000(DataSourceWindowManager.java:50)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager$1.run(DataSourceWindowManager.java:100)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)`


**然而**,直接打开 64bit 的 android studio 就可以查看

于是把 VisualVM1.3.8 启动参数指定 64bit 的 jdk ,就可以看了。

是 32bit 的 jdk 没有 sun.tools.attach.HotSpotVirtualMachine 这个包?
1159 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/227684

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX