Toutes les causes probables d'un double-free à ncurses?
Question
J'ai une application ncurses qui fait ce qui suit, parfois instantanément après le lancement, parfois après quelques tripoter.
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)
Quelqu'un at-il des suggestions pour des choses susceptibles de poursuivre?
La solution
Il semble que vous utilisez glibc, probablement sur un système Linux x86_64.
Le outil à utiliser pour tout type de corruption de tas sur Linux / x86_64 est Valgrind . Il va juste vous donner immédiatement la réponse, donc il est inutile de deviner où le problème est peut-être (et il pourrait être où ).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow