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

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

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

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

08.04.2014, 09:54. Просмотров 210. Ответов 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
Посмотрите здесь:

Как отловить место критической ошибки? - C++
Добрый день. Пишу проект. Для работы использую OpenCV. Время от времени возникает критическая ошибка, как можно отловить место...

Найти самое приближенное (большее чем n) число, являющееся степенью двойки. Обработать ошибки - C++
Пусть дано число n.Найти самое приближенное(большее чем n) число являющееся степенью двойки. Обработать ошибки.Вот обработать ошибки не...

Реализовать «массив целых чисел». Обработать ошибки динамического выделения памяти. Переопределить опе - C++
Реализовать класс «массив целых чисел». Обработать ошибки динамического выделения памяти. Переопределить оператор ++ для указателя на...

Код службы, которая издает звуковой сигнал в начале каждого часа. Исправить ошибки при компиляции - C++
// serv.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; Нашел исходник на...

Signal 11 (SIGSEGV) - C++
То ли я дурак, то ли лыжи не едут. Во время тестирования, прога проходит 6 тестов, на 7-ом возникает Run-time error с доп.информацией...

Странный SIGSEGV, или что зависит от порядка написания интерфейса класса - C++
Есть некий класс,и в нем в секции private записано следующее: private: Value *val; Types var_type; ...

С++, отловить исключение - C++
Немного странный вопрос: Есть класс А, от него наследуется класс Б. В конструкторе класса А может генерироваться некое исключение. ...

Отловить нажатие Enter - C++
Доброй всем ночи, у меня вопрос. Я написал код который должен отловить нажатие Ентера, вот он: void main() { char ch; ch =...

Отловить деление на ноль - C++
Как в программа отловить деление на ноль? Есть программа в которой за тактов 500 выпадает такая ошибка, нужно определить в каком месте она...

Отловить запуск процесса - C++
Здравствуйте. Хотелось бы узнать как на c++ можно проверить включение программы(не нужно проверять включена ли она уже) программа должна...


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

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

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