2016-03-16 28 views
5

私は、このメッセージが意味するのだろうか:Valgrindの

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

注コードがうまく動作し、出力が正しいこと。私はこのメッセージを無視すべきですか?それはどういう意味ですか?

答えて

3

私はあなたがそれを無視することができると思います。私は完璧に動作するように見えたいくつかのコードでは、新たな割り当てにメッセージを持って、私はまた、次のコードでメッセージそれを得る:

Valgrind reporting a segment overflow:私も他の人が同じ問題を経験していることに気づい

#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; 
}