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

программа завершается аварийно - C++

Восстановить пароль Регистрация
 
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
03.09.2011, 03:54     программа завершается аварийно #1
запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо вернуться на главное, но не пашет, вылезает ошибка - прекращена работа программы. в чем может быть дело? исключения не могу пока написать в код, ибо не позволяют, а до этого все норм было, добавил в условие еще одно и кажется усё. заранее признателен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bers
Заблокирован
03.09.2011, 04:25     программа завершается аварийно #2
эм... *включает телепатические способности*

Наверное, где то ошибка!!!
deamonSuitUp
0 / 0 / 0
Регистрация: 24.06.2011
Сообщений: 27
03.09.2011, 04:40  [ТС]     программа завершается аварийно #3
компилятор ошибок не выдает, все работает корректно, возможно это из за множественных условий?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
03.09.2011, 04:54     программа завершается аварийно #4
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
возможно это из за множественных условий?
очень даже может быть.

Добавлено через 1 минуту
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
(меню из кучи условий if-else)
профессионалы рекомендуют применять здесь switch.
Bers
Заблокирован
03.09.2011, 05:24     программа завершается аварийно #5
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
компилятор ошибок не выдает, все работает корректно, возможно это из за множественных условий?
Вы ошибаетесь. Если бы все работало корректно, приложение не падало бы в ран-тайме.

Ошибки бывают разные:

1. Компиляции. Когда компилятор просто отказывается компилить нечто, из-за косячного синтаксиса, например использование не объявленного метода, или неверно записанное имя переменной.

2. Компоновки. Когда все единицы трансляции успешно откомпилированы, и теперь компоновщик пытается соединить их в единое целое. Ошибка может произойти, например из-за повторного определения одной и той же функции в разных ед. трансляции.

3. Ран-тайма. Все успешно скомпилировано и скомпоновано. Но в процессе выполнения программы происходит вызов каких то инструкций, которые ведут к аварийному завершению.
Часто это всевозможные повреждения кучи: выход за пределы массива, удаление уже удаленного объекта, и тп.

Это как раз ваш случай

Ошибки ран-тайма - самые коварные) Иногда приходится просидеть в отладчике помногу часов, что бы просто понять - что за мистика происходит в этом коде))

Лечеццо с помощью пошаговой отладки/ведения лога/etc

Первое что нужно сделать - установить точное место, где программа падает.
Второе - понять из-за чего.
И только потом уже думать, как можно исправить.

Иногда, кстати, программа падает далеко от того места, которое является настоящим источником ошибки.

4. Семантические. Когда все работает, и ничего не падает. Но программа ведёт себя не так, как от неё ожидалось. Это уже ошибка в логике.


Но поскольку, вы не предоставили ни сообщения об ошибке, ни кода, ни примерных соображений, в каком месте падает программка, то вряд ли вам тут кто нибудь поможет.

Ну и напоследок: ошибки - как паразиты. Им нужна жрачка. Питаются ошибки - грязью и неопрятностью в коде.

Поэтому, всегда старайтесь писать код так, что бы он у вас по полочкам был разложен.
Если разбить большую задачу на кучку маленьких - она становится проще. В ней легче ориентироваться, и поэтому труднее ошибиться.

Если у вас километр условий, и все они в одном блоке - такой код похож на кашу. Ничего удивительного, что завелись паразиты.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
03.09.2011, 08:22     программа завершается аварийно #6

Не по теме:

У меня между большими пальцами ног чешется, что бы это могло быть?



Код уже покажи, что ли...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2011, 20:27     программа завершается аварийно
Еще ссылки по теме:

Программа завершается с ошибкой Killed C++
Класс для динамических матриц. После ввода элементов матрицы программа аварийно закрывается C++
C++ Не завершается программа

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
03.09.2011, 20:27     программа завершается аварийно #7
Цитата Сообщение от deamonSuitUp Посмотреть сообщение
запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо вернуться на главное, но не пашет, вылезает ошибка - прекращена работа программы. в чем может быть дело? исключения не могу пока написать в код, ибо не позволяют, а до этого все норм было, добавил в условие еще одно и кажется усё. заранее признателен
- Выкладывакй свой код, ошибка может проявиться из изначально неверного алгоритма решения, как вариант возможно есть деление на НУЛЬ или ВЫХОД ЗА ГРАНИЦЫ ПАМЯТИ...
Yandex
Объявления
03.09.2011, 20:27     программа завершается аварийно
Ответ Создать тему
Опции темы

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