2016-10-24 14 views
1

Es sieht so aus, als ob valgrind einen Rückkehrcode ungleich Null zurückgibt, wenn er Speicherlecks erkennt, obwohl sie in der Unterdrückungsdatei aufgeführt sind.Valgrind-Unterdrückung und Rückkehrcode

Es werden keine Fehler angezeigt, aber der Return Code ist 134. Das schlägt alle meine Builds in Jenkins fehl ... Gibt es einen Weg um dies oder mache ich etwas falsch?

Antwort

1

Sie sind sehr wahrscheinlich etwas falsch zu machen (oder vielleicht mit einem Buggy alte Version von valgrind, ist die unten mit dem gerade erschienenen 3.12):

valgrind --leak-check=full --errors-for-leak-kinds=all --error-exitcode=33 
    --suppressions=t.supp ./memcheck/tests/trivialleak 
... 
==22750==   suppressed: 1,000 bytes in 1,000 blocks 
... 
echo $? 
0 

während ohne Unterdrückung Datei:

valgrind --leak-check=full --errors-for-leak-kinds=all --error-exitcode=33 
    ./memcheck/tests/trivialleak 
... 
==22760== 1,000 bytes in 1,000 blocks are definitely lost in loss record 1 of 1 
... 
echo $? 
33 
+0

Dies könnte daran liegen, dass die Anzeige-Umgebungsvariable nicht gesetzt ist, so dass das Programm abgebrochen wird. Dies ist meine beste Schätzung. 134-128 = 6 = SIGABRT – Saruman

Verwandte Themen