LINUX.ORG.RU

Валится приложение с double free or corruption (fasttop)

 , fasttop, , ,


0

1

Добрый день.

Разрабатываю многопоточное приложение на Qt. Вел разработку под Windows + MinGW. Теперь переношу под Linux.

Есть некоторые сложности, понимаю, что не в платформе дело, а в допущенной где-то ошибке, но приложение работало без падений под Windows, а в Linux после нескольких минут «падает» с выдачей следующего: http://pastebin.com/DctNvtZt

Так как я не силен в gdb, подскажите методику, как выявить где именно проблема? Т.е. хотя бы с какого места ковырять? Спасибо.

Для тех, кто не знает английского, перевожу: ты два раза совобождаешь кусок памяти. Запусти свой бинарник под gdb, а после остановки выполни «bt», чтобы увидеть бактрейс, указывающий на место возникновения ошибки. А потом ищи, где ты лишний раз ошибочно высвобождаешь эту область памяти.

red_eyed_peguin
()

Правда. возможно ты выходишь за пределы выделенной области памяти. Тогда лучше остальных поможет valgrind.

red_eyed_peguin
()

К последним версиям QtCreator прикрутили valgrind.
В меню Analyze->Valgrind Memory Analyzer

Заодно пофиксиш кучу других проблем и научишься использовать незаменимый инструмент.

trex6 ★★★★★
()
valgrind --tool=memcheck --leak-check=full ./bds 2>&1 | less

Давите '/', вводите definitely, Enter, n, n, n...

backbone ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.