当指针关联时,我在解除分配时收到双重释放错误。我怀疑一些未定义的行为正在进行,但我不知道从哪里开始寻找它,或者如何。你如何追踪未定义的行为?
编译器是intel 12。我无法发布代码,因为它很大,我什至不确定问题的根源在于我的代码。它可能在同事的图书馆里。我试图用 gdb 做一些调试,但我没有走得太远。这是错误。
malloc:* 对象 0x102302f20 的错误:未分配被释放的指针 *在 malloc_error_break 中设置断点以进行调试
紧接其前的行是 print *, associated(pointer),它打印为 true。
这是回溯
#0 0x00007fff9327b6c0 in malloc_error_break ()
#1 0x00007fff9327b805 in free ()
#2 0x0000000100d27470 in for_dealloc_allocatable ()
#3 0x0000000100506699 in sharedarraysmodule_mp_deleterealsharedarray2_ () at SharedArrays.f90:609
#4 0x00000001003bbc4e in gammaaggregatormodule_mp_deleteprivate_ () at GammaAggregator.f90:86
#5 0x0000000102300bc0 in ?? ()
Previous frame inner to this frame (gdb could not unwind past this frame)