memcheck

    1热度

    1回答

    我有一个程序在启动时加载一大块数据。这需要相当长的时间,因此在运行Valgrind (memcheck)/DrMemory时会产生开销。因此数次使用不同的参数调用程序时,它占用了大量的时间 我的想法是使用fork()数据加载阶段之后再用手将孩子送到Valgrind的/ DrMemory。即使加载阶段在Valgrind/DrMemory下运行,开销也只会发生一次,所有子进程都应该能够使用预加载的数据

    4热度

    1回答

    我成功使用cuda-memcheck获取有关错误内存访问的错误。编译CUDA代码-g -G给了很好的源位置是这样的: ========= Error: process didn't terminate successfully ========= Invalid __global__ read of size 1 ========= at 0x00000710 in /some/path/s

    7热度

    1回答

    我正在开发嵌入式系统。我们的嵌入式系统中堆栈和堆栈有限,通常为64k(ram)。我正在尝试使用polar-ssl库调用。是否有任何工具可以告诉C函数使用多少堆栈和堆内存? 是否有任何选项中的valgrind打印出以下内容:函数的 栈和堆的使用情况。 调用内部调用malloc的函数的跟踪没有字节。

    1热度

    1回答

    你有任何理论如何调试这种可能存在问题的内存访问模式?我已经预感到它可能与我正在经历的某个棘手的bug有关,但我似乎无法找到它。 它的调试版本的运行,下的valgrind的一个片段,有--track-origins=yes,--leak-check=full 我怎么可能滥用的Qt的图形用户界面的lib,使其体现在以下方式? ==15169== Conditional jump or move dep

    2热度

    1回答

    当运行Valgrind的检测MPI应用程序中的错误,我得到以下错误: libmpi.so.0: cannot open shared object file: No such file or directory 我发现了以下工作: Valgrind documentation(第4.9节.1)指出:“MPI被包装的函数被假定为在与soname匹配的ELF共享对象libmpi.so *中,至少对

    0热度

    1回答

    void readdat (int c, char **v) { char *dc; char *pdc; dc = malloc((line+1) * sizeof(char)); memset(dc, 0, (line+1) * sizeof(char)); FILE *datfile; datfile = fopen(v[3], "r"); while(fgets(dc

    2热度

    1回答

    我有d7和dll库。如何将memcheck附加到该库, 我可以检测到它的内存泄漏?

    1热度

    1回答

    我做了一些软件的valgrind的测试。理想情况下,我希望一次打开20个或更多的valgrind实例。但是,如果我并行运行超过16分的情况下,我开始越来越喜欢消息: ==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_269e37a6 ==30533== VG_(mkstemp)

    6热度

    2回答

    我在一个程序上运行valgrind memcheck,该程序会产生数千个其他线程。 其他线程不会产生错误,我不在乎他们会发生什么。 但是,Valgrind坚持在每次新线程产生时在/ tmp中打开一个命名管道。这不仅是浪费,它实际上打破了valgrind。有时valgrind不会自行清理,然后具有相同pid(稍后激活)的未来孩子无法产卵,因为valgrind无法使用正确的名称(它已存在)创建管道。

    3热度

    3回答

    我有一个奇怪的错误,由valgrind在一个(愚蠢的)验证模块上发现一些堆分配。 ==8009== Invalid free()/delete/delete[]/realloc() ==8009== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8009== by 0x40263F: