опознование сигнала (опознование сигнала)

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

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

опознование сигнала

Сообщение rapa »

У меня такой вопрос.Моё приложение ,вдруг падает.Я подозреваю, что по какй-либо причине приходит сигнал.Но как определить какой сигнал пришёл?Для большинства сигналов я (для отладки) написал функции, выдающие на терминал номер сигнала.Но как быть с теми сигналами,которым нельзя дать функцию-обработчик?Я имею в виду SIGSTOP и SIGKILL.

Заранее спасибо.
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: опознование сигнала

Сообщение sim1 »

rapa писал(а):
09.06.2009 14:18
У меня такой вопрос.Моё приложение ,вдруг падает.

А может быть оно падает из-за внутренних ошибок ? Через отладчик не пытались выяснить причину ?
Спасибо сказали:
rapa
Сообщения: 29
ОС: Linux Fedora 8

Re: опознование сигнала

Сообщение rapa »

sim1 писал(а):
09.06.2009 14:34
rapa писал(а):
09.06.2009 14:18
У меня такой вопрос.Моё приложение ,вдруг падает.

А может быть оно падает из-за внутренних ошибок ? Через отладчик не пытались выяснить причину ?


Согласен,что это может быть причина,но:
1.В 98% случаев,приложение работает нормально, и только в 2% падает.
2.С отладчиком проблемно, т.к. пишу для Linux Embedded да и ещё в моём компиляторе нет отладчика под нужную архитектуру(ARM).
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: опознование сигнала

Сообщение sim1 »

rapa писал(а):
09.06.2009 14:53
Согласен,что это может быть причина,но:
1.В 98% случаев,приложение работает нормально, и только в 2% падает.

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

rapa писал(а):
09.06.2009 14:53
2.С отладчиком проблемно, т.к. пишу для Linux Embedded да и ещё в моём компиляторе нет отладчика под нужную архитектуру(ARM).


Тоже этим балуюсь, для отладки на целевой платформе использую:
gdb target remote tcp:host:port на инструменталке + gdbserver на целевой платформе.
Если нет сети то по порту.

Отладчик можно собрать.
Спасибо сказали:
rapa
Сообщения: 29
ОС: Linux Fedora 8

Re: опознование сигнала

Сообщение rapa »

sim1 писал(а):
09.06.2009 15:14
Отладчик можно собрать.


Как это сотворить?
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: опознование сигнала

Сообщение sim1 »

rapa писал(а):
09.06.2009 15:40
Как это сотворить?


я так понимаю у вас кросскомпилятор есть и вы им успешно пользуетесь ? Тогда скачиваете исходники gdb от сюда http://ftp.gnu.org/gnu/gdb/
Конфигурите, как обычно для кросскомпилятора

/gdb/configure --build=x86 --host=arm-linux

--build - платформа где собираемся
--host - где будем запускать

соответственно для приведенного выше примера, утилиты кросскомпилятора будут вызываться с префиксом "arm-linux", то есть arm-linux-gcc, arm-linux-ld и т.д.
ну и после этого кроскомпилимся
Спасибо сказали: