0

次のコード行でセグメンテーション違反が発生しています。

char* addr = (char*)std::malloc(bytes);

GDB を実行するとbytes、値が851984. 私の知る限り、それは大したことではありません。私は私の人生のためにそれで何か悪いことを見ることはできません. 誰か提案がありますか?

実際の segfault エラーは次のとおりです。

Program received signal SIGSEGV, Segmentation fault. 
0x00007ffff674dd75 in malloc_consolidate (av=0x7ffff6a87720) at malloc.c:4254
4

1 に答える 1

4

(ほとんどの場合) コードのどこかに問題があり、ヒープ構造が破損mallocして割り当てに失敗します。この問題をデバッグするには、 valgrindなどのメモリ エラー検出ツールを使用してみてください。

于 2013-01-09T05:26:28.667 に答える