【问题标题】:trouble with memory记忆问题
【发布时间】:2011-11-13 14:52:29
【问题描述】:

我的代码很长,有多个进程,并且在程序运行时的某个地方我收到一条消息,例如“下一个大小无效(快速)”和一些没有意义的数字。

我无法让 gdb 单独在该进程中运行,而且我无法弄清楚这是在程序中的哪个位置发生的。我把printfs 左右放置(我也用fflush 刷新它,所以它会在那个时候准确打印出来)但是当这种情况发生时我仍然找不到确切的行!

应该如何调试这样的问题?感谢您的帮助,因为我已经尝试了所有我能想到的方法。

【问题讨论】:

    标签: debugging memory process pthreads fork


    【解决方案1】:

    首先尝试找到与

    grep -rni "invalid next" *.c
    

    假设它是一些子目录中的所有 c 文件。然后您应该看到这些数字的含义(或更正错误消息以使其更有意义)。如果你没有 gnu-grep:

    find -name '*.c' | xargs grep -ni "invalid next"
    

    【讨论】:

      【解决方案2】:

      似乎很多人在使用 sizeof() 函数为某事分配错误的内存量时都会遇到这个问题。

      查看这些主题:

      http://www.gtkforums.com/viewtopic.php?t=4819

      http://www.linuxquestions.org/questions/programming-9/free-invalid-next-size-fast-c-error-729852/

      【讨论】:

        猜你喜欢
        • 2023-02-04
        • 2019-06-13
        • 2013-08-14
        • 2013-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-08
        • 2011-02-03
        相关资源
        最近更新 更多