初始化变量时无效的写入大小(Valgrind和C)

时间:2016-09-16 03:08:41

标签: c valgrind

在我的代码上运行valgrind时,我在初始化变量的行上得到“无效写入大小[1 | 4 | 8]”错误。

E.g。

#include <stdbool.h>
#define size 50

int main()
{
  int i;

  bool valid = false; // error seen here
  int array[size];
  for(i = 0; i < size; i++) // error seen here
  {
    array[i] = 0;
  }
}

我完全迷失了,所以非常感谢任何帮助。 我不确定这是否与代码中其他地方的calloc()调用有关,但是valgrind正在挑选每个初始化行。

1 个答案:

答案 0 :(得分:0)

需要使用valgrind中的--max-stackframe选项来避免炸掉堆栈导致无效的读/写