С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
EndWar
19 / 19 / 3
Регистрация: 17.05.2013
Сообщений: 72
#1

Runtime Error, Signal 6 - C++

15.09.2013, 19:01. Просмотров 1214. Ответов 7
Метки нет (Все метки)

вопрос скорее теоретический, чем практический
чем может быть вызван RE с возвращенным значением 6?
нашел англоязычный сайт с таблицей сигналов. там сказано, что этот сигнал вызывают библиотечные функции.. но в сторону каких функций хоть копаться? если бы был 11 код, я бы сразу понял что копать надо в сторону распределения динамической памяти.. а тут... черт ногу сломишь, если учесть что кроме cin,cout,new и delete ничего не используется..
буду рад любым умным советам)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 19:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Runtime Error, Signal 6 (C++):

Runtime Error - C++
Пытаюсь создать игру 2048, но при выполнении движений вылетает Runtime Error void Game::doUp() { savedlist = celllist; ...

Runtime error #3 - C++
#include <iostream> int main() { int a, b, c, page1, page2, hypot; std::cin >> a >> b >> c; if ((c > a) && (c > b)) ...

Runtime Error - C++
Доброго времени суток. Решал на первый взгляд простую задачу по распаковке строки. Если вкратце, то нужно строку вида 3A2BC...

runtime error - C++
Входные данные двумерный массив 10х10, заполненный нолями и единицами, где 0-пустая клетка, а 1-занятая, найти наиболее длинную линию из...

Shared_ptr runtime error - C++
Всем привет. Решил наконец-то изучить умные указатели, а то чувствую себя древним. Начать решил как всегда со своего любимого хеллоу...

Почему runtime error - C++
Вот сама задача http://********/?main=task&id_task=120. #include <algorithm> #include <fstream> using namespace std; int...

7
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.09.2013, 19:14 #2
очень интересный и увлекательный вопрос, но хотя бы какая ОС?
Судя по складности изложения неплохо бы приложить скриншот
0
EndWar
19 / 19 / 3
Регистрация: 17.05.2013
Сообщений: 72
15.09.2013, 19:24  [ТС] #3
alex_x_x,
"Status:
Runtime error at test 11.t, got signal 6" - результат тестирования кода.. больше информации об ошибке нет
При проверке используется компилятор g++ версии 4.x на 64-х битной платформе, работающей под управлением операционной системы семейства Unix.
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.09.2013, 19:38 #4
`ABRT'
6. Process abort.
http://stackoverflow.com/questions/3...gabrt-signal-6
abort() sends the calling process the SIGABRT signal, this is how abort() basically works.

abort() is usually called by library functions which detect an internal error or some seriously broken constraint. For example malloc() will call abort() if its interal structures are damaged by a heap overflow.
вообщем запускаем из под gdb и ловим backtrace
либо тоже самое с coredump

Хотя все зависит от того, что у вас за юникс, если чтото специфическое, то и нужно копать в их сторону
0
EndWar
19 / 19 / 3
Регистрация: 17.05.2013
Сообщений: 72
15.09.2013, 21:30  [ТС] #5
alex_x_x, gdb не сильно поможет, я полагаю
дело в том, что тест, на котором ломается программа и возникает RE №6, неизвестен, известен только результат.. поэтому тема и носит "теоретический" характер, чтобы понять в какую сторону копать.. т.к. все тесты, которые провожу самостоятельно - все поглощаются успешно программой..
данную ссылку видел, но она не сильно помогла.. разве что появился новый вопрос: из комментариев по ссылке я сделал вывод, что ошибка может быть так же связана с динамикой. правильно ли я понял?
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.09.2013, 21:50 #6
EndWar, из-за много чего может быть, например из-за необработанного эксепшена
http://codepad.org/zEN4wf9n

Цитата Сообщение от EndWar Посмотреть сообщение
что ошибка может быть так же связана с динамикой. правильно ли я понял?
в случае с аллокацие/деаллокацией памяти может быть два варианта:
1) libc отлавливает, что программа делает, чтото не то, тогда она вызывает abort() и получается SIGABRT
2) libc не отлавливает и программа получает SIGSEGV

C++
1
2
3
4
5
int main () {
    int* a = new int;
    delete a;
    delete a;
}
Bash
1
2
3
4
5
6
7
8
7fbad5970000-7fbad5971000 rw-p 00000000 00:00 0                                                 
7fbad5971000-7fbad5972000 r--p 0001e000 08:02 327698                     /lib64/ld-2.11.1.so    
7fbad5972000-7fbad5973000 rw-p 0001f000 08:02 327698                     /lib64/ld-2.11.1.so    
7fbad5973000-7fbad5974000 rw-p 00000000 00:00 0                                                 
7fff2fdbf000-7fff2fdd4000 rw-p 00000000 00:00 0                          [stack]                
7fff2fdff000-7fff2fe00000 r-xp 00000000 00:00 0                          [vdso]                 
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]             
[1]    20604 abort      ./a.out
C++
1
2
3
int main () {
    delete (int*)0x1234;
}
Bash
1
2
в•°в”Ђвћ¤  ./a.out                             
[1]    19654 segmentation fault  ./a.out
1
EndWar
19 / 19 / 3
Регистрация: 17.05.2013
Сообщений: 72
19.09.2013, 14:54  [ТС] #7
мм, на будущее, если кто то заглянет сюда в тему, то 6ой Runtime Error может возникать в случае abort от оператора new при выделении слишком большого количества памяти на куче. возможно дело в переполнении? но хз
спасибо пользователю alex_x_x за участие в обсуждении
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
19.09.2013, 19:11 #8
Цитата Сообщение от EndWar Посмотреть сообщение
оператора new при выделении слишком большого количества памяти на куче. возможно дело в переполнении
так это нормально, когда не хватает памяти - new бросает ексепшен bad_alloc
если его никто не обрабатывает - стандартная библиотека вызывает abort
1
19.09.2013, 19:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 19:11
Привет! Вот еще темы с ответами:

Runtime error при выводе - C++
Вылетает на выводе на экран после сортировки #pragma once #include <conio.h> #include <iostream> #include <fstream> #include...

Ошибка компиляции Runtime error - C++
Такой код: #include <iostream> #include <ostream> #include <sstream> #include <string> typedef std::string String; int...

Ошибка во время исполнения runtime-error - C++
Добрый день. Программа компилируется на RAD Studio XE3. Нормально работает и показывает правильный результат. При отправке в проверочный...

Acm.timus Runtime error (access violation) - C++
Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Наш джип находится в пустыне и должен достичь точки, находящейся на...


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

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

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