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之类的东西来找到这样的东西。