Memory Eclipse内存分析器:无法连接到32位进程

Memory Eclipse内存分析器:无法连接到32位进程,memory,32bit-64bit,analyzer,Memory,32bit 64bit,Analyzer,当尝试使用Java内存分析器获取eclispe rcp应用程序的堆转储时,我收到以下错误消息: 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内存分析器:

当尝试使用Java内存分析器获取eclispe rcp应用程序的堆转储时,我收到以下错误消息:

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内存分析器:64位

应用:32位

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


oemone能告诉我问题出在哪里吗?

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


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

假设您有Java 64位版本(jvisualvm和jstack等Java工具也是如此)和IDE/path,在运行javac命令时,类path中有Java 32位,那么您将看到此类问题。 如果您试图从以下方面分析此过程:

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

2) 从jstack开始,它也会产生与上面提到的相同的问题


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

我遇到了相同的问题@苏里克,你能进一步解释一下你的意思吗?我不知道如何更改jmap以使用它(因为它是嵌入在Eclipse内存分析器中的jmap)。