Приложение ARMv5 иногда дает сбой - проблема objdump+gdb

У меня есть программа на руку, и иногда она падает.

Я много учусь, но я не знаю, что делать.

При сбое программы генерируется файл coredump. Если я запускаю coredump с двоичным файлом, backtrace писал:

Core was generated by `./myprog -s -d 731'.
Program terminated with signal 11, Segmentation fault.
#0  0x410987e8 in ?? () from /lib/libc.so.6
(gdb) bt
#0  0x410987e8 in ?? () from /lib/libc.so.6
#1  0x41098758 in ?? () from /lib/libc.so.6
#2  0x41098758 in ?? () from /lib/libc.so.6
#3  0x41098758 in ?? () from /lib/libc.so.6
#4  0x41098758 in ?? () from /lib/libc.so.6
and so on same lines......

Когда я изменяю эту программу и снова компилирую / запускаю, он аварийно завершает работу с другой библиотекой (libQtGuiE.so), а стек заполнен libQtGuiE.so. Некоторое время GDB пишет: "Обратный ход остановлен: предыдущий кадр находится внутри этого кадра (поврежденный стек?)"

Странно то, что я использовал 4 темы в этой программе, и GDB написать это:

(gdb) info threads 
  4 Thread 820  0x00000000 in ?? ()
  3 Thread 838  0x00000000 in ?? ()
  2 Thread 835  0x00000000 in ?? ()
* 1 Thread 836  0x410987e8 in ?? () from /lib/libc.so.6

Поэтому я думаю, что это означает, что стек потоков был переписан? Я использовал Qt4 - поэтому поток создан qthread.

Программа не много сбоев -> один раз в день.

Подскажите, пожалуйста, что мне делать?

0 ответов

Другие вопросы по тегам