当我使用jstack来查询核心转储文件时,我得到了这个异常。我尝试过使用sudo但仍然一样。
感谢您的帮助。
Attaching to remote server core.2941, please wait...
Error attaching to remote server: java.net.MalformedURLException: invalid authority: //core.2941/SARemoteDebugger
sun.jvm.hotspot.debugger.DebuggerException: java.net.MalformedURLException: invalid authority: //core.2941/SARemoteDebugger
at sun.jvm.hotspot.RMIHelper.lookup(RMIHelper.java:115)
at sun.jvm.hotspot.HotSpotAgent.connectRemoteDebugger(HotSpotAgent.java:517)
at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:374)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:183)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:196)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.JStack.main(JStack.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.tools.jstack.JStack.runJStackTool(JStack.java:140)
at sun.tools.jstack.JStack.main(JStack.java:106)
Caused by: java.net.MalformedURLException: invalid authority: //core.2941/SARemoteDebugger
at java.rmi.Naming.intParseURL(Naming.java:330)
at java.rmi.Naming.parseURL(Naming.java:237)
at java.rmi.Naming.lookup(Naming.java:96)
at sun.jvm.hotspot.RMIHelper.lookup(RMIHelper.java:113)
答案 0 :(得分:0)
解决了问题所在。
当您连接到核心转储时,您必须传入java可执行文件以及核心转储文件。
而不是jstack core
您需要使用jstack /usr/bin/java core
。
(您甚至可以将核心文件加载到visualvm中)