2016-08-02 19 views
4

Wenn ich jmap verwenden, um die Haufen Informationen über einen Prozess zu bekommen, habe ich Fehler wie folgt aus:Fehler Befestigung an Prozess: sun.jvm.hotspot.debugger.DebuggerException: nicht Binärdatei öffnen kann

$jmap -heap process_id 

Attaching to process ID process_id, please wait... 
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary 
file 
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: 
cannot open binary file  

OS: Ubuntu 14.04

Ich habe einen anderen Fehler (DebuggerException: Can't attach to the process) durch Aktualisierung kernel.yama.ptrace_scope = 0 gelöst.

See: aber https://bugs.openjdk.java.net/browse/JDK-7050524

+1

Haben Sie den Fehler untersucht, den Sie bekommen? –

+0

Mögliches Duplikat von [Jmap kann keine Verbindung zu einem Dump herstellen] (http://stackoverflow.com/questions/2913948/jmap-cant-connect-to-make-a-dump) –

+0

Sie meinen, es ist ein Berechtigungsproblem ? Aber ich führe diesen Befehl vom selben Benutzer mit dem Java-Prozess. – infraio

Antwort

7

stand ich das gleiche Problem, wenn ich su ‚d auf den richtigen Benutzer die entsprechenden Berechtigungen, die das Problem ging weg.

+0

Interessant genug: "Wurzel" zu sein hat mir nicht geholfen. Ich benutzte 'sudo -u THE__USER_RUNNING_THE_JVM ...' und dann funktionierte es. – yankee

2

Dies wird auch passieren, wenn Sie versuchen, an einen nicht zulässigen Prozess anzuhängen, also ist es eine gute Idee, Ihre PID erneut zu bestätigen.

Zum Beispiel, ein Freund von mir bekam dies, als sie versuchten, an den jps Prozess anzuhängen, den sie verwendeten, um in Frage kommende PIDs zu suchen.