valgrind

    -1热度

    1回答

    我有一个带有字符串键和我自己的String类的AVL树。为了解决另一个问题,我不得不向String添加一个拷贝构造函数。但是,valgrind会报告它的错误。这里的构造函数: String::String(const String& s){ try { mStr = new char[1]; } catch (const bad_alloc& e){

    0热度

    3回答

    我正在调试只发生在我的程序的PPC64端口的问题。 我具有其中C库qsort被给予libffi产生闭合作为字符串比较回调测试用例。字符串被正确地传递给回调函数,并且返回值被精确地存储到由libffi传递给闭包函数的返回值缓冲区中。 然而,该阵列未正确通过qsort排序。此外,Valgrind报告说C库qsort代码正在访问未初始化的内存,并且--track-orgins=yes显示这个内存是由Li

    -2热度

    1回答

    我不知道什么是错用下面的函数读取任意长度的文本行: char *GetLine(FILE * f) { size_t size = 0; size_t len = 0; size_t last = 0; char *buf = NULL; bool line_end = false; while (!feof(f) && !line_e

    0热度

    1回答

    我需要制作一个程序,用execlp调用一个新程序,然后将其输出发送回主程序将输出并将其修改为标准输出。 作为程序它工作得很好,但是当我测试它的valgrind它给了我: Invalid read of size 1 Address 0x0 is not stack'd, malloc'd or (recently) free'd 错误行是:strcpy(program,argv[optind

    0热度

    2回答

    使用libmicrohttpd库时,遇到奇怪的错误一个string至const char *,并调用MHD_create_response_from_buffer。 这会导致网页响应格式不正常,偶尔会显示二进制数据,而且更少见一点,会使浏览器认为它是文件并下载它。 是什么使这个非常奇怪的是,该错误不出来,如果我发送一个定期为const char,像 const char *cstring = "t

    -1热度

    1回答

    这是函数list_directory,其中我丢失了分配的指针,之后我无法释放它。 这应该是一个类似于实现的方式,当它找到一个目录时,它应该保存它的名称,并且在列出该目录后,它应该递归地在当前目录中找到的目录上调用list_directory。但由于某种原因,它在途中失去了一些元素。 int list_directory(int argc, char *argv[], struct check_in

    2热度

    1回答

    由于我有错误,当我设置gcc优化,我想精确看看我的android应用程序的内存。为此,我尝试运行valgrind。 我已经通过termux安装了valgrind,因为它提供了包(不需要编译它)。但错误更快。 我有这样的脚本: #!/system/bin/sh echo "in the shell script" touch /sdcard/ok.txt VGPARAMS='--error-l

    0热度

    1回答

    我有用C++实现的算法A和算法B。理论上,A使用的空间比B多,实际情况也是这样。我想生成一些很好的图表来说明这一点。这两种算法接收输入n,我想我的实验针对不同的n变化,使图形的x轴必须​​是这样的n = 10^6, 2*10^6, ... 通常,当涉及到如时间或高速缓存未命中的数据,我最首选的方法设置实验的过程如下。里面一个C++文件我有一个像这样实现的算法: #include <iostream

    1热度

    1回答

    我想在linux ubuntu中测量一个程序的内存消耗。我比较了两种工具:Valgrind Massif和TOP。出于某种原因,即使当我使用“--pages-as-heap = yes”来显示所有内存时,我也得到了不同的结果。 我编译以下代码: void delay(double secs) { int i,j; for(j=0;j<5000*secs;j++)

    17热度

    1回答

    我使用ATLAS的LAPACK和多线程BLAS例程,并已经注意到,当我得到的矩阵足够大的ATLAS使用BLAS的多线程版本,我从Valgrind的初始化错误。下面是从我的代码小例子: #include <stdio.h> #include <stdlib.h> extern void dgetrf_(int *, int *, double *, int *, int *, int *);