Gibt es bekannte false positives, Probleme mit Valgrind?
Gibt es irgendwelche bekannten false-positives mit Valgrind? Ich bekomme eine 'Bedingte springen oder Bewegung hängt uninitialised value(s)' mit der fmemopen
Funktion schreiben in C und kompiliert mit GCC. Kann ich sicher sein, dass es echt ist?
EDIT: gibt es bekannte Probleme, die nicht in der Unterdrückung Dateien? Gibt es einige Dinge, die man tun kann, in einem Programm, das sind nicht wirklich Fehler, aber Valgrind werden sagen, Sie sind? Wenn es gibt bekannte Probleme, eine Liste wäre schön.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es gibt false positives, die mit Valgrind, das ist, warum es hat die Unterdrückung Dateien für bestimmte glibc und gcc-Versionen, zum Beispiel. Die Fehlalarme können auftreten, wenn Sie ältere valgrind mit neueren gcc und glibc, d.h., valgrind 3.3 mit glibc 2.9.
Gesagt, dass Sie noch nicht in Frage und finden Sie heraus, ob es wirklich ein false-positive (wenn das wird der Fall sein, schreiben Sie bitte eine Unterdrückung für it-yourself) oder es ist eine echte Fehler in Ihrem Programm.
Gibt es keine schnelle und einfache Möglichkeit zu sagen, was hier vorgeht, aber in diesem Fall würde ich vermuten, dass Sie auf der Durchreise sind nicht initialisierten Wert von code zu code-Bibliothek. Versuchen Valgrind option
--track-origins=yes
. Es wird sich zeigen, wo die nicht-initialisierten Wert kam. Wenn es dein code, wahrscheinlich sollten Sie es initialisieren. Wenn es innerhalb der Bibliothek, könnte es sein, die falsch-positiv-oder immer noch schlechte Werte der library-Aufruf Argumente, die verursachen könnte es, so überprüfen Sie diese.Valgrind kommt mit einigen Standard-Fehler-Unterdrückung, aber Sie sind keineswegs über alle Bibliotheken.
Können Sie erstellen Sie Ihre eigenen Fehler Unterdrückung, dass Sie wissen, sind irrelevant für deinen code.
War nicht das Debian-SSL-Sache motiviert durch die Festsetzung einiger false-positives mit Valgrind?