С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 18
1

Крэш программы на одном ПК

23.01.2014, 10:52. Показов 525. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, в с++ я пока только осваиваю азы и т.п.

Серверное приложение для не особо сложных манипуляций, но написано не мной, я только пытаюсь разбираться в коде), недавно заметил такую странность, если через браузер попытаться подключиться к ее открытому порту, то на одном ПК с вин2008 программа выдает ошибку, мол неизвестный пакет и рушится. Попробовал на тестовом ПК вин7, просто выдает туже ошибку, но продолжает дальше работать.

Вопрос такой, отчего на вин2008 программа крошится и как можно выяснить причину, дабы потом ее устранить, может есть какой софт в помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2014, 10:52
Ответы с готовыми решениями:

Крэш программы при работе с кострукторами
Пробую разобраться с конструкторами. Увы пока крэш ( Подскажите #define _CRT_SECURE_NO_WARNINGS...

Односвязный список. Крэш программы при выводе
Доброго времени суток, господа. Извиняюсь за повторную тему (вчера такую же создавал с другим...

Как сделать несколько функций в одном срр ?Написал программы, которые нужно поочередно запустить в одном срр
#include <iostream> void func(double& x,double& y) { double temp_min = (x + y) / 2.0;; ...

TextView // крэш
Здравствуйте! С Новым Годом! И вопрос: почему он крашится? Если удалить/закомментировать строку...

2
4865 / 2664 / 913
Регистрация: 29.11.2010
Сообщений: 5,745
23.01.2014, 11:15 2
Цитата Сообщение от BioNicle12 Посмотреть сообщение
Вопрос такой, отчего на вин2008 программа крошится и как можно выяснить причину, дабы потом ее устранить, может есть какой софт в помощь.
Вопрос такой, а зачем вы разбираетесь в причинах падения стороннего софта? Судя по тому, что как минимум два браузера выдают ошибку про левый пакет, похоже, что ваше приложение не рассчитано на подключение из браузера.

Таким образом, с тем же успехом после браузера можно разбираться, почему падает SSH клиент, натравленный на порт этого приложения, а затем VPN-клиент, а потом можно взяться за Х-ы или ICQ.
Вы собираетесь устранить падения ВСЕХ приложений при подключении к вашему приложению? Даже тех, которые еще только выйдут?
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
23.01.2014, 12:16 3
Цитата Сообщение от BioNicle12 Посмотреть сообщение
Вопрос такой, отчего на вин2008 программа крошится и как можно выяснить причину, дабы потом ее устранить, может есть какой софт в помощь.
1) Запустить программу под отладчиком.

Способ настолько очевидный, что комментариев не требует.
Цеплять отладчик к службе, кстати, можно с помощью ключа реестра
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

2) Организовать в программе нормальную проверку и обработку ошибок.

Это значит, что всякое возвращаемое значение обязательно должно проверяться и
обрабатываться надлежащим образом. Если что-то выходит за пределы "контракта" -
лучше сразу реагировать наиболее строгим образом, вплоть до аварийного
завершения программы. Это позволяет еще на ранних этапах отлавливать многие
ошибки, которые в иных условиях остались бы незамеченными.
Информация об ошибке должна быть максимально детальной - имя функции/класса,
причина ошибки, код выхода, LastError и т.д.

3) Реализовать логгирование/трассировку.

Даже в простейшем виде (запись в текстовый файл) это приносит ощутимую
пользу и позволяет увидеть, что там на самом деле происходит, за "кулисами".

4) Обложить все тестами, с ног до головы.

Обтестировать все и вся, чтобы при малейшем нарушении срабатывал ассерт.
Тесты запускать постоянно, на каждый билд и в фоне, и просто так, для успокоения.
Постоянно добавлять новые тесты, тестировать пограниченые условия, писать
smoke-тесты для новых компонентов, использовать фаззинг и стресс-тесты.

5) Реализовать в программе систему сбора крэш-дампов и "обратной связи".

Например, можно поставить обработчик исключений (SetUnhandledExceptionFilter), а
при возникновении исключения записать крэш-дамп процесса (MiniDumpWriteDump).
Отладочные символы, сгенерированные при построении программы (.pdb), нужно сохранить.
Позже такой крэш-дамп можно открыть в отладчике (WinDbg, например) и разобрать с
нужной детальностью, что именно произошло и почему. Есть, кстати, готовые библиотеки
под это дело:

CrashRpt
http://code.google.com/p/crashrpt

breakpad
http://code.google.com/p/google-breakpad

6) Если проблема воспроизводится только на определенных версиях программы, а код самой
программы помещен в систему контроля версий, то можно попробовать найти в ней те
изменения, которые привели к возникновению ошибок.
1
23.01.2014, 12:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2014, 12:16
Помогаю со студенческими работами здесь

Крэш системы при восстановлении
Доброго времени суток! При использовании отката системы по точке восстановления произошло...

Не компилится проект - крэш aap.exe
aapt.exe. Подскажите, что делать.

Крэш Windows Vista. Что можно сделать?
Пыталась установить касперского и установила по ошибке не тот(не 32битный). в результате крэш....

Skype останавливает работу, крэш Utorrent, при запуске
Всем привет. Аналогичная проблема со скайп, только удаление xml файла абсолютно никак не помогает....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru