我有一个ncurses应用程序可以执行以下操作,有时会在启动后立即执行,有时会在一些小小的情况下执行。
malloc: *** error for object 0x100300400: double free
Program received signal SIGABRT, Aborted
(gdb) where
#0 0x00007fff846a7426 in read ()
#1 0x00007fff83f3d775 in _nc_wgetch ()
#2 0x00007fff83f3de3f in wgetch ()
(and so on into my code)
有没有人对可能要追求的事情提出建议?
答案 0 :(得分:2)
看起来你正在使用glibc,可能在x86_64 Linux系统上。
用于Linux / x86_64上任何类型的堆损坏的工具是Valgrind。它会立即给你答案,所以没有必要猜测问题可能在哪里(而且它可能任何地方)。