我遇到了一个我还无法弄清楚的崩溃 - 在分叉之前分配了一个结构。在结构中,条件分配的内存也分配给字符串。如果在 fork 之前或之后由父级访问此结构,则不会遇到任何问题。
当孩子尝试访问该结构时,该结构内存中的所有值都是垃圾,但 valgrind 不会抱怨对结构的内存访问,因此它似乎认为内存应该是有效的。然而,当结构中的字符串被访问时——指针是一个垃圾值——程序崩溃了。Valgrind 指出内存最近没有被分配或释放,但这是意料之中的,因为它是一个垃圾值。
有没有人经历过类似的事情?到目前为止,我还没有从我的搜索中找到任何有用的提示。
编辑:有条件分配的内存