Падение приложения (Падение приложения)

Модератор: Модераторы разделов

rapa
Сообщения: 29
ОС: Linux Fedora 8

Падение приложения

Сообщение rapa »

У меня такой вопрос. У меня есть приложение (не написанное мной) и есть его сорсы. Но приложение работает нестабильно. Т.е. оно падает(процес приложения я не вижу).Есть ли способ каким-нибудь макаром отследить его падение,а точнее причину,по которой оно упало?

Заранее спасибо.
Спасибо сказали:
Аватара пользователя
Folderx
Сообщения: 296
ОС: fedora, mandriva

Re: Падение приложения

Сообщение Folderx »

если gdb, надо сначала скомпилировать с ключом -g, а потом бинарник открыть в gdb
cc -g *.c -o prog;
gdb prog;

там внутри команды
list - показывает исходник
break 10 - устанавливает брейкпоинт на 10 строке
delete 1 - удаляет брейкпоинт номер 1
cont - продолжить до следующего брейкпоинта
step - сделать шаг на следующий оператор
display a[i] - отобразить значение a[i] и оставить
print a - отобразить значение a и не оставлять
undisplay 1 - удалить display номер 1
run - начать
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Падение приложения

Сообщение Portnov »

Ещё, возможно, поможет:

Код: Выделить всё

strace ваша-программа >& файл.log

Отслеживает системные вызовы, сделанные программой. При просмотре выходного файла может обнаружиться ошибка (типичное: какой-то файл не удалось открыть, но в программе эта ошибка не обработана).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
rapa
Сообщения: 29
ОС: Linux Fedora 8

Re: Падение приложения

Сообщение rapa »

Спасибо.Но я не написал очень важную(как я понял из ответов) штуку.Поэтому извиняюсь и скажу её.Приложение-embedded как и Linux, другими словами бежит на борде(чипе).Поэтому опции gdb и starce отпадают,хотя может starce поможет,надо будет проверить.Есть ещё какие-нубудь идеи?
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Падение приложения

Сообщение frp »

Может помочь valgrind (мне помог)
Спасибо сказали:
Аватара пользователя
korisk
Сообщения: 205
ОС: Xubuntu

Re: Падение приложения

Сообщение korisk »

rapa писал(а):
08.03.2009 00:35
У меня такой вопрос.У меня есть проложение(не написаанное мной) и есть его сорсы.Но приложение работает не стабильно. Т.е. оно падает(процес приложения я не вижу).Есть ли способ каким-нибудь макаром отследить его падение,а точнее причину,по которой оно упало?

Заранее спасибо.


ulimit -c 43134134134
разрешит создание core файлов
после этого запускаете свою программу, (с программами в фоне не пробовал)
когда программа вылетит создастся файл PIDпроцесса.core
после этого выполняете команду
gdb ваша_программа новый_core_файл.core
из командной строки отладчика
backtrace или bt
она разматает стек вылетевшей программы и укажет место ошибки с точностью до строки, конечно программа должна быть скомпилирована с поддержкой отладки. Я использую параметр -ggdb в gcc.

В качестве рекомендации добавлю, что полезно бывает при первых компиляциях отключить оптимизацию.

Удач

PS, не сразу заметил про embedded. Но тут всё равно стоит покопать в сторону core файлов.
Registerd Linux user #486684 at http://counter.li.org/
Спасибо сказали: