首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Valgrind不喜欢我使用glutCreateWindow?

为什么Valgrind不喜欢我使用glutCreateWindow?
EN

Stack Overflow用户
提问于 2009-04-19 22:53:34
回答 2查看 1.7K关注 0票数 1

我正在使用下面的代码...

代码语言:javascript
复制
169: const char *title = Title.c_str();
170: glutCreateWindow(title);

..。Valgrind给了我以下信息。

代码语言:javascript
复制
==28841== Conditional jump or move depends on uninitialised value(s)
==28841==    at 0x6FF7A4C: (within /usr/lib64/libGLcore.so.180.44)
==28841==    by 0x6FF81F7: (within /usr/lib64/libGLcore.so.180.44)
==28841==    by 0x7289B36: (within /usr/lib64/libGLcore.so.180.44)
==28841==    by 0x728A757: _nv000133gl (in /usr/lib64/libGLcore.so.180.44)
==28841==    by 0x4EAB9E9: (within /usr/lib64/libGL.so.180.44)
==28841==    by 0x4EAEA81: (within /usr/lib64/libGL.so.180.44)
==28841==    by 0x4EB1D81: (within /usr/lib64/libGL.so.180.44)
==28841==    by 0x4EA782B: glXCreateNewContext (in /usr/lib64/libGL.so.180.44)
==28841==    by 0x54DF9AA: fgOpenWindow (in /usr/lib64/libglut.so.3.8.0)
==28841==    by 0x54DE062: fgCreateWindow (in /usr/lib64/libglut.so.3.8.0)
==28841==    by 0x54DF300: glutCreateWindow (in /usr/lib64/libglut.so.3.8.0)
==28841==    by 0x4146CE: vimrid::glut::GlutApplication::Init() (GlutApplication.cpp:170)

但是什么是未初始化的呢?title变量用Title.c_str()的值初始化,Title是一个类成员,它在构造函数成员初始化列表中初始化...

代码语言:javascript
复制
class VimridApplication
{
    // ...

public:
    std::string Title;

    // ...
}

VimridApplication::VimridApplication() :
    Title("Untitled VimridApplication")
{
    // ...
}

class GlutApplication : public VimridApplication
{
    // ...
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-20 02:55:24

Valgrind附带了一些默认的错误抑制,但这可能不包括libCLcore。

错误检查工具可以检测基础库中的大量问题,比如GNU C库和X11客户端库,这些库都是预先安装在您的GNU/

系统上的。您不能轻松地修复这些错误,但是您不希望看到这些错误(是的,有很多错误!)因此,Valgrind在启动时读取要抑制的错误列表。在构建系统时,./configure脚本会创建一个默认的抑制文件。

您可以创建自己的error suppressions,您知道它与您的代码无关。

票数 4
EN

Stack Overflow用户

发布于 2009-04-19 23:02:32

忽略这一点;正如您所看到的,未初始化的值在OpenGL库中的代码下面使用,并且未初始化的数据可能不是您的数据。您可能想要深入研究它(它可能仍然是一个假阳性),但您最好不要去管它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/766303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档