2016-04-02 2 views
4

Ich folgte this exercise. Diese Seite enthält Anweisungen zur Installation von Valgrind 3.6.1, aber diese Version von Valgrind wird von meiner aktuellen Linux-Kernel-Version nicht unterstützt. Also installierte ich Valgrind 3.11.0 und folgte den Anweisungen dort nach und auf diesen Befehl ausführen:Valgrind: mmap (0x600000, 8192) fehlgeschlagen in UME mit Fehler 12 (Speicher kann nicht zugewiesen werden)

$ valgrind ./ex4 

habe diesen Fehler:

valgrind: mmap(0x600000, 8192) failed in UME with error 12 (Cannot allocate memory). 

Wie kann ich es beheben?

Ich bin mit Ubuntu 14.04 LTS mit Kernel-Version 4.4.0

+0

Sorry, aber was genau willst du erreichen? Möchten Sie es installieren? Möchten Sie es für einen Segmentierungsfehler in einem Ihrer Programme testen? –

+0

Es sieht so aus, als hätten Sie geplant, einen Verweis auf den Code zu geben, den Sie ausführen möchten. Können Sie die URL hinzufügen? Haben Sie eine sinnvoll konfigurierte Maschine oder VM mit genügend Speicher? Konnten Sie Valgrind noch auf anderen Programmen laufen lassen? Laufen Sie auf 32-Bit- oder 64-Bit-Builds? Obwohl der Artikel/Link, den Sie verwenden, ziemlich alt sein muss, um Valgrind 3.6.1 vorzuschlagen, war es richtig, auf 3.11.0 zu aktualisieren, und die Dinge sollten mit der neuen Version genauso funktionieren wie früher mit der älteren Version . –

+1

Sie brauchen das: https://bugzilla.redhat.com/show_bug.cgi?id=1301093 –

Antwort

2

Der Fehler, die Sie erlebt haben ist eigentlich ein Kernel-Fehler, die in den nachfolgenden Versionen behoben wurde. Weitere Details hier:
https://bugzilla.redhat.com/show_bug.cgi?id=1301093

die Fehler zu überwinden, würde ich vorschlagen, dass Sie den Kernel aktualisieren.
Hinweis: Ich benutze selbst Ubuntu 14.04 auf Kernel-Version 3.16.0-67 laufen und es läuft ohne Probleme.

Bearbeiten: Wie vom OP in Kommentaren darauf hingewiesen, wurde der Fehler in Kernel-Version 4.5.2 behoben.

+1

@ShyamSaini akzeptieren Sie die Antwort, wenn Sie denken, es hilft –

+0

@abhishek_naik Ich habe bereits meine Maschine mit dem neuesten Linux-Kernel, der Version 4.4.0 ist. Wie Sie gesagt haben, arbeitet es mit der Kernel-Version 3.16.0-67, aber was ist mit der neuesten Version, auf der meine Maschine läuft? – mysticTot

+0

@ShyamSaini, ich würde vorschlagen, dass Sie von einer anderen Kernel-Version booten. Wenn Sie nicht sicher sind, wie Sie von einer anderen Version booten, beziehen Sie sich bitte auf den Anfang der akzeptierten Antwort von http://askubuntu.com/questions/738790/stopping-system-v-runlevel-compatibility-ubuntu-14-04-lts. –