Valgrind und Java
Will ich mit Valgrind-3.7.0 zu finden, memory leaks in meinem Java-native-code. Ich verwende jdk1.6.0._29.
Tun, ich habe die --trace-Kinder=yes-flag. Einstellung, die Flagge, ich nicht mehr laufen kann valgrind auf jeder java-Anwendung, auch ein Befehl wie:
valgrind --trace-children=yes --smc-check=all java -version
die Fehlermeldung bekommen:
Error occurred during initialization of VM
Unknown x64 processor: SSE2 not supported
Gesehen hab ich diesen link: https://bugs.kde.org/show_bug.cgi?id=249943, aber es war nicht nützlich.
Läuft das Programm ohne Valgrind oder ohne --trace-Kinder, die fahne ist in Ordnung.
Wer hat eine Idee, was ich tun kann?
InformationsquelleAutor RezaPlusPlus | 2012-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie JIT deaktivieren, führen Sie die JVM unter valgrind, etwa so:
Auch, wenn Sie am Ende mit generierten Unterdrückung (und Sie wahrscheinlich!), kann es ein problem mit der Tiefe des call stacks in der generierten Unterdrückungen, die eher auftreten, wenn die unter der JVM.
In den letzten Versionen von valgrind, erzeugt Unterdrückung enthalten können, nennen tiefer stapeln, als verarbeitet werden können, indem valgrind/memcheck selbst. Das symptom dieses Problems ist, dass valgrind wird unerwartet beendet mit der Meldung "zu viele Aufrufer im stack-trace".
Dieses problem ist leicht behoben: vor dem Gebäude valgrind, Bearbeiten Sie die Datei coregrind/m_errormgr.c und ändern Sie den hartcodierten Wert bei der #define auf einen größeren Wert (ich benutze 99):
Dann bauen und installieren valgrind nach den docs.
InformationsquelleAutor BillT
Valgrind fallen und emuliert (bis zu einem Grad) der Prozessor, dieser ist scheinbar verursacht die JVM verwirrt über Ihre Unterstützung für SSE und die Rettung
Ich würde vorschlagen, Ihr versucht zu erzählen das die JVM nicht die Mühe, mit SSE, Sie sollten in der Lage sein, diese zu deaktivieren für den hotspot mit der JVM-flag
-XX:UseSSE=0
Glück! valgrinding die JVM ist ein bisschen hart, wie Sie etwas feindlich zu einander
Könnte es auch sein, Ihre version von valgrind und java lief ich Ihrem Befehl von oben lokal und hatte keine Probleme, mit valgrind 3.6.1 und java 1.6.0_26-und java-1.7.0-b147
InformationsquelleAutor Greg Bowyer