Eclipse Memory Analyzer:无法连接到32位进程

时间:2013-07-19 10:28:17

标签: memory 32bit-64bit analyzer

当尝试使用Java Memory Analayzer获取我的eclispe rcp应用程序的Heapdump时,我收到以下错误消息:

Error creating heap dump. jmap exit code = 1
4120: Unable to attach to 32-bit process running under WOW64
The -F option can be used when the target process is not responding

操作系统:64位Windows7

Java Memory Analyzer:64位

申请:32位

我尝试了32位和64位变体并得到了相同的错误。

罐头oemone告诉我这是什么问题?

2 个答案:

答案 0 :(得分:7)

这意味着您使用的jmap是与64位版本的JDK捆绑在一起的jmap。如果您使用此jmap从32位JVM获取堆转储,则会弹出此错误。

解决方案:使用与32位JDK捆绑在一起的jmap版本。

答案 1 :(得分:1)

假设您具有Java 64位版本(因此适用于jvisualvm和jstack之类的Java工具)和IDE / path,无论您在何处运行javac命令,在类路径中均具有Java 32位,那么您将看到此类问题。 如果您尝试通过以下方式分析此过程

1)java VisualVM,那么它可能无法正确加载您的进程,这意味着您将无法对有问题的进程进行线程/堆转储。

2)来自jstack,那么它也会产生与您上面提到的相同的问题。

要解决此问题,请确保版本中的所有内容均匹配。