Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 17.12.2024
Сообщений: 49

Как можно обрабатывать краш программы?

17.06.2025, 11:08. Показов 4228. Ответов 45

Студворк — интернет-сервис помощи студентам
Всем привет. Возник такой вопрос, допустим есть программа на c++ для винды, иногда она может крашется ошибка чтения памяти, необработанные исключения, наверное, что то еще может быть. Так вот какие есть практики быстро отлавливать и править такие истории?

1. Можно использовать логи, не всегда помогают
2. Можно использовать дебаггер, для этого нужен дамп памяти с ошибкой
3. Тестирование, ну, это понятно

Используете ли вы общий try catch в main, чтобы отлавливать все исключения и записывать их в логи(файлы, Event Viewer)?
Оправдано ли вообще делать дампы при ошибке на уровне программы?
Что еще посоветовать можете?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2025, 11:08
Ответы с готовыми решениями:

Подскажите как убрать краш программы
Здравствуйте! В общем дана задача: Написть приложение , которое "угадывает"задуманное...

Краш программы
Из за чего крашит мою программу в 1 запросе я ввожу: C:\test.. во 2 запросе я ввожу: ...

QML SetSource() краш программы
Добрый день при запуске программы я запускаю QML с шаблоном login.qml а потом хочу показать...

45
Отпрыск ChatGPT
 Аватар для Azawa
266 / 31 / 4
Регистрация: 18.06.2019
Сообщений: 155
11.07.2025, 21:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Verevkin Посмотреть сообщение
в процессе работы у какого-то юзера вылезает краш по ассёрту
Ассерты в релиз сборке не нужны. Это макро для отладки программистом.
1
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
11.07.2025, 21:16
Цитата Сообщение от Azawa Посмотреть сообщение
Ассерты в релиз сборке не нужны. Это макро для отладки программистом.
Вот я как раз программистом и работаю.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,249
11.07.2025, 22:17
Цитата Сообщение от Verevkin Посмотреть сообщение
function ExtractLast4Bytes(const buf; const ACount: int32): DWORD;
var
  ptr: pByte;
begin
  // копирование последних 4 байт куска памяти как DWORD
  Assert(ACount > 3);
С другой стороны, чего это он больше трёх то?
Такая бешеная программа?
Ты до этого должен был десять раз проверить, что бы он не был больше трёх.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
11.07.2025, 22:22
Цитата Сообщение от Наталья8 Посмотреть сообщение
С другой стороны, чего это он больше трёх то?
Такая бешеная программа?
Так надо.
Цитата Сообщение от Наталья8 Посмотреть сообщение
Ты до этого должен был десять раз проверить, что бы он не был больше трёх.
Я ничего тебе не должен.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,249
11.07.2025, 22:27
Программирование, наука точная.
Если оно там не должно быть больше трёх, то не должно...
А типы данных как? uint8 например?
Как ими пользуються? Как туда не залетает 257?
Везде ассёрты ставят?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
11.07.2025, 22:53
Цитата Сообщение от Наталья8 Посмотреть сообщение
А типы данных как? uint8 например?
Как ими пользуються? Как туда не залетает 257?
Залетает и даже очень легко.

Цитата Сообщение от Наталья8 Посмотреть сообщение
Везде ассёрты ставят?
Можно и с ассертами залетать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2025, 22:53

QtableView получение количества строк (краш программы)
Здравствуйте, подскажите, пожалуйста, как обойти траблу. Я делаю печать из таблицы, все работает,...

Краш программы после вызова Inverse_element
#include<iostream> #include<math.h> #include <fstream> #include <string> using namespace std;...

Краш программы
Господа, Добрый день! может быть кто-нибудь знает, где искать ошибку? Никакой код не исполняется,...

Краш программы. Поиск по структуре
Доброго времени суток, уважаемые форумчане! Я столкнулся с такой проблемой... Условие задачи : ...

Краш программы с STATUS_STACK_BUFFER_OVERRUN
Привет всем! Делаю программу, основанную на рекурсивном поиске файлов, и всё работает отлично,...


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

Или воспользуйтесь поиском по форуму:
46
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru