c++ - Valgrind-libgtk-x11

标签 c++ qt valgrind ubuntu-14.04

我纠正了我在 Qt 中编写的程序中的所有内存泄漏。
我发现了一些无法处理的错误。

==3343== Conditional jump or move depends on uninitialised value(s)
==3343==    at 0x80B4320: g_utf8_offset_to_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
==3343==    by 0x106806A0: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==3343==    by 0x10680D28: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==3343==    by 0x10C1ACE6: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.23)
==3343==    by 0x8086CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
==3343==    by 0x8087047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
==3343==    by 0x80870EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0)
==3343==    by 0x64C2453: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /home/michal/Qt/5.4/gcc_64/lib/libQt5Core.so.5.4.0)
==3343==    by 0x6465DAA: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /home/michal/Qt/5.4/gcc_64/lib/libQt5Core.so.5.4.0)
==3343==    by 0x646ACC4: QCoreApplication::exec() (in /home/michal/Qt/5.4/gcc_64/lib/libQt5Core.so.5.4.0)
==3343==    by 0x406317: main (main.cpp:9)</code>

我的主要功能

#include "mainwindow.hh"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec(); //this is my 9th line
}

一整天都在尝试修复它,但我不知道这是什么意思。
有人可以帮助我吗?

最佳答案

对于您不感兴趣且无法解决问题的库,您创建 valgrind 抑制文件,它们将不会再次显示

请看说明书

http://valgrind.org/docs/manual/manual-core.html

2.5节抑制错误

关于c++ - Valgrind-libgtk-x11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414881/

相关文章:

c++ - 获取表面光属性

c++ - 从 Qt 资源加载 Csv 文件

c++ - T的类型是什么?

c - 这个小 for 循环中的内存泄漏和 valgrind 错误?

c++ 埃拉托色尼筛法我的代码很慢

python - 属性错误 : 'module' object has no attribute 'QtString'

c++ - 在按下按钮时使用 QTimer 在 Qt 中暂停功能

c++ - post 请求和 QNetworkAccessManager 的内存泄漏

c - 地址 0x0 未被堆栈、malloc 或(最近)释放

c - Mac OS X 上的 Valgrind 错误 printf a double