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

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

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

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

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

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

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

Вопрос такой, отчего на вин2008 программа крошится и как можно выяснить причину, дабы потом ее устранить, может есть какой софт в помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 10:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Крэш программы на одном ПК (C++):

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

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

Найти минимальный элемент и все элементы, расположение в одном ряду и в одном столбце с минимальным - C++
Дана квадратная матрица A порядка n. Составить программу, которая находит минимальный элемент и все элементы, расположение в одном ряду и в...

Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе) - C++
Здравствуйте! Есть задание: Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном...

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

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

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

Таким образом, с тем же успехом после браузера можно разбираться, почему падает SSH клиент, натравленный на порт этого приложения, а затем VPN-клиент, а потом можно взяться за Х-ы или ICQ.
Вы собираетесь устранить падения ВСЕХ приложений при подключении к вашему приложению? Даже тех, которые еще только выйдут?
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 12:16
Привет! Вот еще темы с ответами:

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

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

Не запускаются программы на одном из компов - Visual Basic .NET
Доброе время суток, люди добрые!! Помогите пожалуйста разобраться. Написал 5 программ в Visual Studio на Visual Basic .Net. Все...

Запуск программы в одном экземпляре - Delphi
Моя программа должна запускаться в виде процесса без окон, форм, сообщений и т.п. Подскажите, как сделать, чтобы она работала только в...


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

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

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