Я новичок в valgrind. Я написал программу на C++, используя библиотеки Qt 5.5.1 на Ubuntu 15.10. Я использую Qt Creator с набором отладки Debug. Я проверил на наличие утечек памяти с помощью Valgrind с помощью следующей команды: затемЭто ошибка от Qt или моей программы?
valgrind --leak-check=yes --track-origins=yes ./texteditor
Valgrind дает мне следующее сообщение:
==2977== Conditional jump or move depends on uninitialised value(s)
==2977== at 0x97ED1EC: ??? (in /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.28)
==2977== by 0x97EE58A: ??? (in /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.28)
==2977== by 0x5B3380B: g_cclosure_marshal_VOID__VOID (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x5B31B8A: g_closure_invoke (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x5B43FFB: ??? (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x5B4CC95: g_signal_emit_valist (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x5B4CFC4: g_signal_emit (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x96ECD00: gtk_adjustment_changed (in /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.28)
==2977== by 0x5B35465: ??? (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x5B384FC: g_object_thaw_notify (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4600.2)
==2977== by 0x96ED182: gtk_adjustment_configure (in /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.28)
==2977== by 0x4563C7F: ??? (in /home/tembo/Qt/5.5/gcc/lib/libQt5Widgets.so.5.5.1)
==2977== Uninitialised value was created by a stack allocation
==2977== at 0x456215F: ??? (in /home/tembo/Qt/5.5/gcc/lib/libQt5Widgets.so.5.5.1)
Из приведенных выше сообщений ничего не указывает на местоположении MyProgram на всех. Это из Qt и других библиотек, или я пропустил что-то, указывающее на myProgram?
Попробуйте скомпилировать вашу программу с отладочной информацией ('-g -O0') и снова запустить' valgrind'. – Drop
@Drop, я использую Qt Creator для компиляции и настроен на сборку Debug, делает -g откладывается от сборки Debug? – Amani
Вам нужно будет скомпилировать Qt с информацией об отладке ... (переключатель '-debug' для настройки) – peppe