首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将可用代理(sun.jvm.hotspot.HSDB)连接到windows 7 (32位)上运行的jvm

无法将可用代理(sun.jvm.hotspot.HSDB)连接到windows 7 (32位)上运行的jvm
EN

Stack Overflow用户
提问于 2015-04-08 06:49:50
回答 1查看 911关注 0票数 1

根据链接,我可以通过以下步骤成功地将HSDB连接到Ubuntu上运行的jvm进程:

  1. ( Ubuntu终端) set SA_JAVA=/usr/lib/jvm/java-8-oracle/bin/java
  2. ( Ubuntu终端) echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  3. ( Ubuntu终端) java -Dsun.jvm.hotspot.debugger.useProcDebugger=true -classpath /usr/lib/jvm/java-8-orcale/lib/sa-jdi.jar sun.jvm.hotspot.HSDB

对于Windows732位和相同的链接,我试图将sun.jvm.hotspot.HSDB连接到正在运行的sun.jvm.hotspot.HSDB进程,但我面临以下问题:

  1. (在命令提示符下) set PATH=C:\Program Files\Java\jdk1.8.0_40\bin;d:\windbg;%PATH%。但是在上面的命令中,我找不到d:\windbg。对于这种依赖性,我谷歌了很多,也安装了Microsoft,但是安装后它有不同的文件夹层次结构(c:\WinDDK\7600.16385.1)。
  2. 有一段时间,我跳过了"windbg"并执行了以下命令。

它提供了下面的屏幕。

在上面的屏幕上,我输入了运行中的jvm process id,这是我从Windows收集的,并单击OK按钮。出现以下屏幕并导致异常。

我知道我遵循的链接是非常古老的。如何在windows上运行sun.jvm.hotspot.HSDB。或者还有什么其他的工具值得我去做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 12:19:06

问题在于,您正在使用来自您的java.exe jre而不是您的jre来启动hdsb。这就是为什么它在您的sawindbg.dll中寻找jre\bin (在那里找不到它),而不是在jdk\bin中查找它(在那里dll是dll)。您可以在LinkError错误消息中看到这一点。

因此,请使用:

C:\Program Files\Java\jdk1.8.0_40\bin\java.exe -cp C:\Program Files\Java\jdk1.8.0_40\lib\sa-jdi.jar sun.jvm.hotspot.HSDB

或者最好将路径更改为始终使用jdk中的java.exe。其他工具也有jre one的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29507788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档