Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hamster28
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 41
#1

Отловить и обработать сигнал ошибки sigsegv - C++

08.04.2014, 09:54. Просмотров 200. Ответов 0
Метки нет (Все метки)

пытаюсь отловить и обработать сигнал ошибки
в примере
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <signal.h>    
 
void my_handler (int signum)
{
    MessageBoxA(NULL,"SIGFPE Error!","POSIX Signal",MB_ICONSTOP);
    signal(signum, SIG_DFL);
    exit(3);
}
 
int main ()
{
  void (*prev_handler)(int);
  prev_handler = signal (SIGSEGV, my_handler);
  raise(SIGSEGV); 
  return 0;
}
все в таком варианте работает

а вот если я не сам поднимаю сигнал, а просто пишу пару бредовых строк из другого примера
C++
1
2
3
4
5
6
7
8
int main ()
{
  void (*prev_handler)(int);
  prev_handler = signal (SIGSEGV, my_handler);
  int* p = 0x00000000;
  *p = 10; 
  return 0;
}
то ошибка вылетает, а в обработку my_handler не заходит...
подскажите, что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 09:54     Отловить и обработать сигнал ошибки sigsegv
Посмотрите здесь:

Странный SIGSEGV, или что зависит от порядка написания интерфейса класса C++
C++ Определить, сигнал какого цвета сигнал горит для пешеходов в этот момент.
С++, отловить исключение C++
C++ Отловить нажатие Enter
C++ Код службы, которая издает звуковой сигнал в начале каждого часа. Исправить ошибки при компиляции
Signal 11 (SIGSEGV) C++
C++ Как отловить место критической ошибки?
Отловить деление на ноль C++
Отловить запуск процесса C++
C++ Как отловить переполнения?
C++ Найти самое приближенное (большее чем n) число, являющееся степенью двойки. Обработать ошибки
C++ Реализовать «массив целых чисел». Обработать ошибки динамического выделения памяти. Переопределить опе

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru