C++ std::malloc的错误

C++ std::malloc的错误,c++,segmentation-fault,malloc,C++,Segmentation Fault,Malloc,我在以下代码行中遇到了一个错误: char* addr = (char*)std::malloc(bytes); 运行GDB时,我看到字节的值为851984。据我所知,这没什么大不了的。我一辈子都看不出有什么问题。有人有什么建议吗 实际segfault错误为: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff674dd75 in malloc_consolidate (av=0x7ffff6a87720) at

我在以下代码行中遇到了一个错误:

char* addr = (char*)std::malloc(bytes);
运行GDB时,我看到
字节
的值为
851984
。据我所知,这没什么大不了的。我一辈子都看不出有什么问题。有人有什么建议吗

实际segfault错误为:

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

在代码早期的某个地方(很可能)存在一个问题,该问题正在破坏堆结构,导致
malloc
在分配时失败。您应该尝试使用内存错误检测工具来调试此问题。

您的代码之前的某个地方(很可能)存在一个问题,该问题正在破坏堆结构,导致
malloc
在分配时失败。您应该尝试使用内存错误检测工具来调试此问题。

根据我的经验,此类问题是由程序早期的损坏引起的。你可以用电栅栏或valgrind之类的东西来找到这样的东西。根据我的经验,像这样的东西是由程序早期的腐败造成的。你可以用电栅栏或valgrind之类的东西来找到这样的东西。