草庐IT

gtest_valgrind

全部标签

c++ - 在 OSX 上,Valgrind 报告此内存泄漏,它来自哪里?

在OSX上,Valgrind报告此内存泄漏,它是从哪里来的?代码是用g++作为c++代码编译的c(我这样做是为了函数重载)。==13088==18bytesin1blocksaredefinitelylostinlossrecord82of264==13088==at0x1F25DC:malloc_zone_malloc(vg_replace_malloc.c:267)==13088==by0xA1AEDA:malloc_set_zone_name(in/usr/lib/system/libsystem_c.dylib)==13088==by0xA1B4A7:_malloc_initi

C++ VALGRIND 未初始化的值是由堆分配创建的

我有一个问题。当我编译程序时没有任何错误,但是当我使用valgrind时:未初始化的值是由堆分配创建的(与new一致)条件跳转或移动取决于未初始化的值(删除行)我搜索了论坛,但是我没有找到太多可以帮助我的信息。如果有提示,我将不胜感激。我的程序#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;usingstd::cout;usingstd::endl;intdlugosc,miejsce;ifstreamfile;classchannel{p

c++ - 使用替换的 operator new 进行 Clang 链接时优化会导致 valgrind 中的 free()/delete 不匹配

当将clang3.5.0与-flto一起使用并与共享库链接时,似乎在共享库中调用operatordelete不遵循与调用相同的符号解析顺序来自主要对象的code>operatornew。示例:共享.cpp:voiddeleteIt(int*ptr){deleteptr;}ma​​in.cpp:#include#includevoid*operatornew(size_tsize){void*result=std::malloc(size);if(result==nullptr){throwstd::bad_alloc();}returnresult;}voidoperatordelet

c++ - "still reachable"和 "possibly lost" block 的 C++ 中的 valgrind 输出不引用我的来源

我很难确定我的代码中哪里有内存泄漏。我运行的valgrind命令:valgrind--leak-check=full--log-file=vg1.log--show-leak-kinds=all--leak-resolution=low--track-origins=yes--leak-check-heuristics=all./enalu_dbg和输出==22866==Memcheck,amemoryerrordetector==22866==Copyright(C)2002-2013,andGNUGPL'd,byJulianSewardetal.==22866==UsingValg

android - Valgrind 无法在 Android 操作系统上执行 memcheck 工具?

我编译了Valgrind对于ARM使用this稍作改动。按照指定的方法安装到手机上后,出现如下错误:#/data/local/Inst/bin/valgrindvalgrind:failedtostarttool'memcheck'forplatform'arm-linux':Permissiondenied通过更仔细的调查,有可能发现它试图做什么:#/data/local/Inst/bin/valgrind-d-v--25068:1:debuglogDebugLogsystemstartedbyStage1,level1loggingrequested--25068:1:launch

Gtest生成静态库可执行文件

@Gtest生成静态库可执行文件通过Gtest产生静态库文件.a及可执行文件app,实现Gtest测试框架。一、静态库文件.a生成可执行文件需要gtest下的静态库文件.a,以及自身所在项目的程序生成的静态库文件.a,本案例中以生成自项目程序的静态库文件为例,如图所示是本文中所需的.c文件及.h文件以及产生静态库文件的Makefile。1.静态库文件命令:gcc-c-g-Wall-pthread-I./include----生成.o文件ar-rcxxx.a a.ob.oc.oxx.o----生成静态库文件xxx.a2.MakefileCC:=gcc#设置当前目录CUR_PATH:=$(shel

android - 无法使用 Valgrind 运行 Java Android 程序

我正在尝试在Valgring下启动一个Java程序,就像这样(在adbshell中):valgrindamstart-aandroid.intent.action.MAIN-ncom.me.myapp/.MainActivity我得到:==2362==Memcheck,amemoryerrordetector==2362==Copyright(C)2002-2012,andGNUGPL'd,byJulianSewardetal.==2362==UsingValgrind-3.8.1andLibVEX;rerunwith-hforcopyrightinfo==2362==Command:

c++ - 是否有误报 valgrind "possibly lost"报告的简单示例?

通过阅读“可能丢失”的valgrind内存泄漏报告,我了解到这种报告极有可能是误报。如果不对代码做一些非常强制的事情,我无法理解这怎么会在正常情况下发生。所以为了理解这个选项,我想问一下是否有一个简单的valgrind误报“可能丢失”内存泄漏报告的例子? 最佳答案 这里是一个误报“可能丢失”的例子:classA{intx;};classB{inty;};classC:publicA,B{intz;};intmain(){staticB*notLost=newC();//Theupcastwillchangethepointertop

c++ - 使用 Valgrind 抑制 Qt 内存泄漏的文件

我通常用C++编写我的类,并在Linux平台上使用valgrind检查它们是否泄漏内存。在释放所有堆内存之前,我不满意。开始用Qt编写,我发现valgrind检测到多少泄漏,也是在一个简单的项目上。它们太多了,以至于我很难检测到相同的泄漏。我在某处读到可以使用valgrind的抑制文件,这有助于过滤掉不需要的泄漏,但我找不到它。我使用的是Ubuntu11.04x64、g++4.5、Qt4.7。有人知道如何解决这个问题吗? 最佳答案 你看过this"ValgrindSuppressionFileHowto"wiki了吗??仅作记录,Q

c++ - Valgrind 显示内存泄漏且 main 为空,不包含 header

卢本图15.10我的项目存在内存泄漏。我可以找到它们,所以我清理了我的main.cpp文件,现在它看起来像这样:intmain(){return0;}当我使用命令检查内存时:valgrind--leak-check=full--show-leak-kinds=all./MyProgram>log1.txt2>&1我遇到了这些错误:==5219====5219==LEAKSUMMARY:==5219==definitelylost:0bytesin0blocks==5219==indirectlylost:0bytesin0blocks==5219==possiblylost:728by