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

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

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

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

08.04.2014, 09:54. Просмотров 229. Ответов 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 не заходит...
подскажите, что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 09:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отловить и обработать сигнал ошибки sigsegv (C++):

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

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

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

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

Определить, сигнал какого цвета сигнал горит для пешеходов в этот момент. - C++
3. Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал,...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 09:54
Привет! Вот еще темы с ответами:

Program received signal SIGSEGV, Segmentation fault - C++
Когда запускаю дебагер: gdb ./preci Вюдает следуще. Я не могу понять с чем это могет быть связано. Код: GNU gdb 6.4.90-debian...

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

Сигнал SIGSEGV - C++ Qt
Всем доброго времени суток. И да, QT опять тыркается пыркается на ровном месте. :rtfm::wall: Есть такой код в классе: /*...

Не проходит тест: Сигнал 11 (SIGSEGV) - Free Pascal
Что могло вызвать ошибку? в условии сказано что N (1 ≤ N ≤ 25) и M (1 ≤ M ≤ 10^9) все числа не превышают 10^9. var M, N, i, k, x,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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