草庐IT

valgrind

全部标签

c++ - 如何有效地使用 valgrind

我刚刚开始学习使用valgrind和--tool=memcheck但我遇到的困难实际上是发现问题。例如一个这样的问题是这样的。==12561==Conditionaljumpormovedependsonuninitialisedvalue(s)==12561==at0x425779:Server::HandleReceiveFrom(boost::system::error_codeconst&,unsignedlong)(mUUID.h:63)==12561==by0x428EC4:boost::asio::detail::reactive_socket_recvfrom_op,b

c - Valgrind 使用 getline() 给出错误

我有一个调用getline()的函数,它从标准文本文件中读取行。这些行以\r\n结尾,因为这是规范所要求的,因为它是VCARD文件的“互联网标准”。无论如何,我在OpenSUSE11.3上使用最新的GCC和Valgrind版本通过Valgrind运行这个宝贝;没有错误。但是,由于与此问题无关的原因,我将发行版切换到BackTrack4(基于Ubuntu),现在我收到了一大堆Valgrind错误:==21536==Conditionaljumpormovedependsonuninitialisedvalue(s)==21536==at0x40164A1:(within/lib/ld-2

c - Valgrind 使用 getline() 给出错误

我有一个调用getline()的函数,它从标准文本文件中读取行。这些行以\r\n结尾,因为这是规范所要求的,因为它是VCARD文件的“互联网标准”。无论如何,我在OpenSUSE11.3上使用最新的GCC和Valgrind版本通过Valgrind运行这个宝贝;没有错误。但是,由于与此问题无关的原因,我将发行版切换到BackTrack4(基于Ubuntu),现在我收到了一大堆Valgrind错误:==21536==Conditionaljumpormovedependsonuninitialisedvalue(s)==21536==at0x40164A1:(within/lib/ld-2

c++ - 这个 valgrind 错误是什么意思?

我有一个基本的库,我用它来绘制OpenGL文本,每当我使用valgrind来确保它是气密的。我一直收到一个不寻常的错误,在我看来好像linuxc++库有问题。我想看看你们是否能发现我的错误或验证我所担心的,那就是我的c++库有问题,需要更换。代码非常简单,但它同时使用了OpenGL和FreeImage,因此某些行没有意义。这里是fontsystem.h:#ifndefFONTSYSTEM_H#defineFONTSYSTEM_H/*TheFontSystemworksbyloadingallthefontimages(maximagesize32px^2)intomemoryandst

c++ - 这个 valgrind 错误是什么意思?

我有一个基本的库,我用它来绘制OpenGL文本,每当我使用valgrind来确保它是气密的。我一直收到一个不寻常的错误,在我看来好像linuxc++库有问题。我想看看你们是否能发现我的错误或验证我所担心的,那就是我的c++库有问题,需要更换。代码非常简单,但它同时使用了OpenGL和FreeImage,因此某些行没有意义。这里是fontsystem.h:#ifndefFONTSYSTEM_H#defineFONTSYSTEM_H/*TheFontSystemworksbyloadingallthefontimages(maximagesize32px^2)intomemoryandst

c++ - 如何检查大型 C++ Linux 应用程序中的内存泄漏?

我目前正在从事一个大型应用程序项目(用C++编写),该项目是从头开始的,我们已经到了必须对内存泄漏进行综合检查的地步。该应用程序在UbuntuLinux上运行,它有很多多媒体内容,并使用OpenGl、SDL和ffmpeg实现各种目的,包括3D图形渲染、窗口、音频和电影播放。您可以将其视为视频游戏,尽管它不是,但是通过将其视为视频游戏可以简化应用程序的职责。我目前对确定我们是否仍然存在内存泄漏有点无能为力。过去我们已经确定了一些,并删除了它们。不过这些天,应用程序已接近完成,我们运行的测试给出了我无法完全弄清楚的结果。我做的第一件事是尝试通过Valgrind运行应用程序……不幸的是,当在

c++ - 如何检查大型 C++ Linux 应用程序中的内存泄漏?

我目前正在从事一个大型应用程序项目(用C++编写),该项目是从头开始的,我们已经到了必须对内存泄漏进行综合检查的地步。该应用程序在UbuntuLinux上运行,它有很多多媒体内容,并使用OpenGl、SDL和ffmpeg实现各种目的,包括3D图形渲染、窗口、音频和电影播放。您可以将其视为视频游戏,尽管它不是,但是通过将其视为视频游戏可以简化应用程序的职责。我目前对确定我们是否仍然存在内存泄漏有点无能为力。过去我们已经确定了一些,并删除了它们。不过这些天,应用程序已接近完成,我们运行的测试给出了我无法完全弄清楚的结果。我做的第一件事是尝试通过Valgrind运行应用程序……不幸的是,当在

linux - 如何排除某些子进程在 valgrind 下运行?

我在Linux中运行一个守护进程,我想在valgrind下运行这个守护进程来查找与内存相关的错误。由于它是一个守护进程,我需要使用--trace-children=yes选项,但这会在其生命周期中产生许多进程,我不希望它们在valgrind下运行。有没有办法排除某些child在valgrind下运行? 最佳答案 当前发布的版本(valgrind3.5.0)没有跟踪部分但不是所有子项的选项。但是,如果您愿意使用thelatestcodefromtheSVNrepository,它包含一个newoption--trace-childre

linux - 如何排除某些子进程在 valgrind 下运行?

我在Linux中运行一个守护进程,我想在valgrind下运行这个守护进程来查找与内存相关的错误。由于它是一个守护进程,我需要使用--trace-children=yes选项,但这会在其生命周期中产生许多进程,我不希望它们在valgrind下运行。有没有办法排除某些child在valgrind下运行? 最佳答案 当前发布的版本(valgrind3.5.0)没有跟踪部分但不是所有子项的选项。但是,如果您愿意使用thelatestcodefromtheSVNrepository,它包含一个newoption--trace-childre

c - 我应该释放 setlocale 返回的指针吗?

intmain(intargc,char*argv[]){char*ret=setlocale(LC_ALL,NULL);//shouldIfree'ret'???//free(ret);return0;}我在Linux和OSX10.10上都试过了,在Linux上,我不能调用“free”,但在OSX上,如果我不调用“free”,valgrind会提示内存泄漏。==62032==Memcheck,amemoryerrordetector==62032==Copyright(C)2002-2013,andGNUGPL'd,byJulianSewardetal.==62032==UsingV