`
ycmhn
  • 浏览: 23626 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

glibc的free()错误

阅读更多
今天自己写的php扩展出现了一点问题
运行第一次的时候运行中断,然后后面就都是好的
apache的日志里记录的错误如下
*** glibc detected *** /usr/local/apache/bin/httpd: free(): invalid next size (fast): 0x083334b8 ***


开始看到free以为是我哪里内存没释放或者malloc后指针误操作了
所以找了一上午,把其他之前随意的地方都改了
后来看到一个说是系统共享内存参数过小导致,恰好用到了共享内存,于是改大后还是出错

后来突然发现。。。
因为之前是用malloc和free写的,后来改成了emalloc,但是free没改成efree...



花了一个上午.....晕死了
分享到:
评论

相关推荐

    GLIBC Tutorial(GLIBC 教程)

    - **错误处理函数**:GLIBC提供了一系列用于错误处理的函数,比如`perror()`用于打印错误信息到标准错误输出流,以及`strerror()`用于将错误代码转换为对应的字符串描述。 - **错误类型**:常见的错误类型包括但不...

    glibc-2.29.zip

    4. **内存管理**:glibc提供了一套完整的内存分配和释放机制,如`malloc`、`calloc`、`free`等。它们通过`mmap`、`brk`等系统调用实现,确保了内存的有效利用和管理。 5. **I/O操作**:`stdio`子目录包含了C标准...

    glibc-2.39源码

    2. **内存管理**:`malloc.c`和`free.c`等文件中实现了内存分配和释放的函数,包括malloc、calloc、realloc和free。这里可以学习到内存池、内存碎片管理和内存对齐等高级技术。 3. **字符串和字符处理**:`string.h...

    glibc-2.2.5.tar.gz

    1. **基本库函数**:glibc提供了大量的C语言标准库函数,如内存管理(malloc、calloc、free等)、字符串操作(strcpy、strcat、strlen等)、输入/输出(printf、scanf系列)、数学运算(sqrt、sin、cos等)等。...

    glibc-2.28.tar.gz.7z

    5. 错误处理:`perror()`、`strerror()`等函数用于获取错误信息。 五、总结 glibc 2.28不仅是一个C库,它是Linux系统与应用程序之间的桥梁,通过不断迭代优化,它提升了系统性能,增强了安全性,扩大了硬件支持...

    glibc源码包

    - **C语言基础库**:提供基本的类型定义、内存管理、错误处理等,如malloc()、free()、printf()等函数。 - **标准I/O流**:实现stdio.h中的函数,如fopen()、fclose(),支持文件和设备的读写操作。 - **字符串和...

    glibc函数手册.zip。

    总的来说,glibc函数手册是Linux开发者的宝贵资源,它详细介绍了glibc库中的每一个函数,包括参数、返回值、错误处理等方面,有助于程序员理解和使用这些函数,从而更高效、安全地编写高质量的C程序。通过深入学习这...

    glibc内存管理ptmalloc源代码分析-高清PDF-pdf版

    6. **错误检测与调试**:ptmalloc包含了一些用于检测内存错误的机制,如检查内存越界、双重释放等。在调试模式下,这些机制可以显著帮助定位内存管理问题。 7. **内存泄漏检测**:虽然ptmalloc本身并不直接支持内存...

    gcc_glibc.pdf

    - GLIBC 提供了一种机制来报告库函数中的错误情况,通常通过设置全局变量 `errno` 来指示发生了什么类型的错误,并允许程序根据具体情况采取相应的措施。 - **内存管理 (Memory Management)** - 包括虚拟内存分配...

    glibc-2.3.2.tar.gz

    3. **I/O操作**:glibc包含了一系列用于文件和设备读写、流式I/O、错误处理的函数,如fopen、fclose、printf、scanf等。 4. **字符串和数组操作**:strcat、strcpy、strlen、strcmp等函数方便了对字符串和数组的...

    VC6.0SRC 与 glibc-2.21

    3. **异常处理**:C++的异常处理在VC6.0中是如何与C函数库结合的,以及glibc如何处理C语言中的错误和异常。 4. **文件系统操作**:通过对比fopen、fclose等函数的实现,可以理解两个系统对文件系统的不同抽象和交互...

    Glibc源码实现

    2. **错误处理**:研究在遇到异常情况时,Glibc如何抛出错误信息并处理。 3. **性能优化**:探究Glibc内部如何进行各种优化,比如函数内联、预编译宏和缓存友好的数据结构。 4. **多线程支持**:查看Glibc如何实现...

    glibc函数手册

    通过阅读这份“glibc函数手册”,开发者可以更深入地了解每个函数的工作原理、参数、返回值以及可能遇到的错误情况。这不仅有助于编写出高质量的C程序,还能有效提高代码的可维护性和可读性。同时,对于学习Linux...

    glibc

    2. **内存管理**:包括malloc、calloc、realloc、free等内存分配和释放函数,以及内存错误检测和调试工具。 3. **字符串和字符处理**:strcat、strcmp、strcpy、strlen等函数处理C风格字符串,以及locale相关功能,...

    glibc-2[1].4.tar.gz源码

    7. **错误处理**:定义了各种错误代码和错误处理机制,如errno变量,便于程序调试。 深入学习glibc-2.4源码,可以从以下几个方面进行: 1. **源码结构分析**:理解glibc的目录结构,如include头文件、sysdeps针对...

    C语言标准库最新源码glibc-2.30.zip

    8. **错误处理**:glibc提供了一套完整的错误报告和处理机制,如`errno`全局变量和`perror()`函数。通过源码,可以了解错误处理的策略和实践。 阅读glibc-2.30的源码,不仅能增进对C语言标准库的理解,还能提升编程...

    glibc-2.12.1 源码

    - **内存管理**:glibc提供了高效且灵活的内存分配函数,如`malloc`、`calloc`、`realloc`和`free`,并包含了一些优化策略,如内存池和快速分配器。 - **I/O操作**:包括文件I/O、网络I/O等,如`fopen`、`fclose`...

    glibc-2.5.tar.gz

    glibc 提供了动态内存分配和释放的接口,如malloc、calloc、realloc和free等。在glibc-2.5中,内存管理策略可能进行了优化,减少了内存碎片,提高了内存利用率。 5. **线程支持**: glibc 对多线程编程提供了全面...

Global site tag (gtag.js) - Google Analytics