Valgrind报告" brk段溢出在#1号线和#34;

时间:2016-03-16 06:32:03

标签: c++ valgrind

我想知道这条消息意味着什么:

==18151== brk segment overflow in thread #1: can't grow to 0x4a26000

请注意,代码运行正常,输出正确。我应该忽略这个消息吗?这是什么意思?

1 个答案:

答案 0 :(得分:4)

我认为你可以忽略它。我在一些代码中的新分配中得到了消息,它似乎完美无缺,我也在下面的代码中得到消息:

#include <vector>

struct Something
{
    Something() : a1(0), b1(0) { }
    unsigned short a1;
    unsigned short b1;
};

const int allocsize = 10000;

struct Tester
{
   Tester()
   {
       for (int u = 0; u < allocsize; ++u)
           data.push_back(new Something[519]);
   }

   ~Tester()
   {
       for (int u = 0; u < allocsize; ++u)
           delete[] (data[u]);
   }

   std::vector<Something*> data;
};

void test()
{
     Tester t;
     // while (true) {;}
}

int main()
{
    test();
    return 0; 
}

我也注意到其他人遇到了同样的问题:

Valgrind reporting a segment overflow