|
|
27 мая 2011
В POSIX-системах, сигнал, сигнализирующий об ошибке шины, при обращении к физической памяти.
SIGBUS целочисленная константа, определённая в заголовочном файле signal.h . Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
Этимология
SIG общий префикс сигналов, BUS англ. bus шина данных.
Использование
Процесс может получить SIGBUS при неправильном обращении к памяти:
- Неправильное выравнивание данных
- При попытке обращения не удовлетворяющей правилам выравнивания принятым на применяемом процессоре.
- Обращение к несуществующей физической памяти
- Обращение к адресам, для которых на компьютере не установлено памяти. Исключение аналогично ошибке сегментации, но в применении к физическим, а не виртуальным адресам.
- Аппаратная ошибка специфичная объекту
- Более редкий случай, например в Solaris такой сигнал возникает, когда страницы виртуальной памяти перестают быть доступны, из-за проблем доступа к объекту, который на них отображён файл был впоследствии урезан ).
Операционная система может предоставить дополнительные данные о возникшей ошибке, используя стек сигнала, который может помочь разработчику в отладке данной ошибки.
По умолчанию, процесс аварийно завершается с генерацией дампа памяти, который можно использовать для получения информации об условиях возникновения исключения.
SIGBUS может быть перехвачен или проигнорирован. Однако игнорирование SIGBUS, в некоторых случаях, может привести к непредсказуемым результатам. Примером программы, перехватывающей SIGBUS, может служить отладчик, который способен проанализировать стек и информировать разработчика на каком этапе произошла ошибка.
Сигналы POSIX |
SIGABRT | SIGALRM | SIGFPE | SIGHUP | SIGILL | SIGINT | SIGKILL | SIGPIPE | SIGQUIT | SIGSEGV | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGCONT | SIGSTOP | SIGTSTP | SIGTTIN | SIGTTOU | SIGBUS | SIGPOLL | SIGPROF | SIGSYS | SIGTRAP | SIGURG | SIGVTALRM | SIGXCPU | SIGXFSZ |
Сигналы реального времени SIGRTMIN SIGRTMAX.
|
Некоторые сигналы не включенные в POSIX и синонимы |
SIGIOT | SIGEMT | SIGSTKFLT | SIGIO | SIGCLD | SIGPWR | SIGLOST | SIGWINCH | SIGUNUSED |
Просмотров: 1027
|