Ich verwende Qt Creator, um eine C ++ - Anwendung zu entwickeln, und ich versuche, einige Speicherlecks aufzuspüren.
Ich habe diese Anweisungen * verfolgt und Valgrind auf meinem Ubuntu-Computer installiert .
Ich beginne meine Anwendung aus dem Abschnitt Speicher analysieren, und nachdem ich auf die Stopp-Schaltfläche geklickt habe, wird mir gesagt, dass Tool Analyze Memory finished, 928 issues found
. Im Analyseabschnitt, der leer bleibt, werden jedoch keine Ergebnisse angezeigt.
Mache ich etwas falsch? Wo finde ich die Ergebnisse der Speicheranalyse?
* Verwirrenderweise fragen die Anweisungen nach einer Build-Konfiguration für "release", aber wenn Sie diese Option auswählen, wird in Qt eine Warnung angezeigt, dass das Speicheranalyse-Tool eine Debug-Konfiguration erfordert. Ich habe beide Wege ausprobiert.
Ich habe es in meinem Qt Creator überprüft und es funktioniert. Ich benutze Version 2.3.1 mit Qt 4.7.4 und Valgrind 3.7.0. Ich habe es auf dem Beispiel einer Bohrstelle mit Debug Build-Konfiguration getestet. Ich habe es auch mit meinem CMake-basierten Projekt ( kompiliert mit -g) getestet und -OO Flags) und es hat auch funktioniert. Stellen Sie sicher, dass neben dem Start-Button Valgrind Memory Analyzer
ausgewählt ist. In derselben Leiste finden Sie Pfeilsymbole. Neben ihnen ist Ikone des Trichters (denke ich). Klicken Sie darauf und stellen Sie sicher, dass die Arten von Fehlern, die Sie interessieren, überprüft werden.
Wenn es nicht funktioniert und Valgrind-Tools nicht von der Konsole verwendet werden sollen, gibt es andere Valgrind-GUIs wie Walküre.
BEARBEITEN: Ich habe Qt Creator auf Version 2.4.0rc1 aktualisiert und es mit meinem CMake-Projekt überprüft. Es zeigte auch keine Ergebnisse, während einige hundert Ausgaben gemeldet wurden. Lösung dafür war External errors
nach dem Klicken auf das Trichtersymbol zu überprüfen.
EDIT2: Im letzten 2.4.0 Problem wurde behoben.
Du hast nichts falsch gemacht. Drücken Sie im Valgrind-Menü das Filter-Symbol und wählen Sie External Errors
. Sie werden alle auftretenden Probleme sehen. Diese stammen höchstwahrscheinlich nicht von Ihrer Anwendung, sondern von Qt oder sonstwie. Daher können Sie sie oft ignorieren.
X issues found
bezieht sich auf die Gesamtzahl der Ausgaben; Wenn External Errors
nicht ausgewählt ist, werden nur die mit Ihrer App verknüpften angezeigt. Wenn keine angezeigt wird, hat Valgrind in Ihrer App keinen Speicherverlust festgestellt.
Tags und Links c++ qt memory-management qt-creator valgrind