草庐IT

gtest_valgrind

全部标签

c++ - 如何使用 Valgrind 检测段错误细节?

我有一个std::map,它通过一些API调用进行了初始化。当我尝试使用此map时,我遇到了段错误。如何检测无效代码或无效代码或任何可以帮助我解决问题的细节?代码如下所示:std::mapcont;some_func(cont);//gettingparameterbyreferenceandinitializeit,someonecorruptedmemory(cont)insidethisfunctionstd::cout 最佳答案 您使用以下语法启动您的应用程序(在Debug模式下编译):valgrindyourappValg

c++ - valgrind 未检测到的 malloc_consolidate (malloc.c) 中的段错误

这个问题在这里已经有了答案:Segfaultsinmalloc()andmalloc_consolidate()(2个回答)关闭6年前。我的程序出现段错误,我找不到原因。最糟糕的是,有问题的函数并不总是导致段错误。GDB确认错误并产生此回溯:ProgramreceivedsignalSIGSEGV,Segmentationfault.0xb7da6d6einmalloc_consolidate(av=)atmalloc.c:51695169malloc.c:Nosuchfileordirectory.inmalloc.c(gdb)bt#00xb7da6d6einmalloc_conso

c++ - 为什么 Valgrind 使用 boost::thread 显示堆栈使用量增加?

写了一个简单的测试:#include#includeusingnamespacestd;voidmyThreadRun(){coutValgrindMassif在其上显示以下图表:(堆栈分析已启用。平台:LinuxUbuntux86)。这个程序实际上似乎没有内存泄漏:内存使用是稳定的。我想知道:这是Valgrind还是boost::thread的问题?还是我误解了什么?你会怎么解释? 最佳答案 这不是boost::threads,它也发生在普通的pthreads上。我从here获取了示例程序(Pthread创建和终止),将线程数增加

c++ - 将 gtest 配置为仅在控制台中显示失败的测试

是否有仅显示失败测试的选项?我不得不改用吉他来实现这一点,但我错过了命令行工具。 最佳答案 我遇到了同样的问题-我相信很多其他人都遇到过。所以我创建了这个:https://gist.github.com/elliotchance/8215283应该是粘贴和播放。 关于c++-将gtest配置为仅在控制台中显示失败的测试,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6605336

c++ - Valgrind 和 "WARNING: new redirection conflicts with existing"

我在Valgrind中得到了这个。--24101--REDIR:0xbb20580(operatordelete(void*))redirectedto0x93b7d48(operatordelete(void*))--24101--REDIR:0xbb22580(operatornew[](unsignedlong))redirectedto0x93b88b7(operatornew[](unsignedlong))==24101==WARNING:newredirectionconflictswithexisting--ignoringit--24101--new:0x156320

c++ - 抑制 GTK+ 中的 Valgrind 错误

我有一个使用GTK+和Glade的应用程序;使用memcheck工具运行Valgrind会输出大约2,000个错误。有没有人可以为GTK应用程序共享一个好的抑制文件?我尝试了这些,但每个仍然给我留下大约900个错误:http://www.vips.ecs.soton.ac.uk/development/nip2.supphttp://www.gnome.org/~johan/gtk.suppressionhttps://gist.github.com/758760可以找到我正在使用的代码的拷贝here.执行makerun来构建GUI(在这个代码拷贝中只有GUI)。

c++ - 如何使用基本的 c 示例运行 valgrind?

安装:bzip2-dvalgrind-3.10.1.tar.bz2tar-xfvalgrind-3.10.1.tar然后:./configuremakemakeinstall或者更简单的sudoapt-getinstallvalgrind如何在这个简单的程序example1.c上运行valgrind#includeintmain(){char*x=malloc(100);/*or,inC++,"char*x=newchar[100]*/return0;}运行:valgrind--tool=memcheck--leak-check=yesexample1valgrind:example1

c++ - 如何将 valgrind 测试添加到我的 cmake "test"目标

我通过使用ninja构建来运行单元测试,然后从我的构建树中运行ninjatest:cmake-GNinja/source/treeninjaninjatest但是,要运行valgrind,我需要手动运行它:valgrindrel/path/to/test我希望valgrind在我运行ninjatest时自动运行。Accordingtothecmakedocumentation“设置[valgrind测试]非常简单”,但是当我运行时ctest-DNightlyMemoryCheck我只是得到这个错误:Cannotfindfile:/home/arman/tinman/deb/DartCo

c++ - 为什么 valgrind 说基本的 SDL 程序正在泄漏内存?

这是SDL程序:#includeintmain(intargc,char**argv){SDL_Init(SDL_INIT_VIDEO);SDL_Surface*screen=SDL_SetVideoMode(640,480,16,SDL_HWSURFACE);SDL_Quit();return0;}用命令编译:g++-otesttest.cpp-lSDL这是valgrind的输出:christian@christian-laptop:~/cpp/tetris$valgrind--leak-check=full./test==3271==Memcheck,amemoryerrordet

c++ - 使用 pthread_create 时出现 valgrind 内存泄漏错误

我正在使用pthread库编写程序。当我使用命令valgrind--leak-check=full运行程序时,我收到以下错误描述:==11784====11784==**HEAPSUMMARY:**==11784==inuseatexit:4,952bytesin18blocks==11784==totalheapusage:1,059allocs,1,041frees,51,864bytesallocated==11784====11784==**288bytes**in1blocksarepossiblylostinlossrecord2of3==11784==at0x4C2380