Russian Qt Forum
Ноябрь 26, 2024, 00:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с дамб файлом  (Прочитано 3193 раз)
opera
Чайник
*
Offline Offline

Сообщений: 93


Просмотр профиля
« : Февраль 10, 2021, 14:33 »

Добрый день, понимаю, что тема не совсем чисто под QT,но и для работы с QT она точно подходит, может кто откликнится.Подскажите пожалуйста ссылку на материал(пока ищу, но не нашел) или опишите пожалуйста, как получать и отлаживать работы с дамб файлом для студии. То есть я хочу научиться
(1)получать дамб файл после падения exe файла
(2)открывать каким-то специальным образом этот файл через VS2019
(3)находить по дамб файлу в отладке причину падения
Код:
int main()
{
    int var = 7;
    int* refInt = nullptr;
    var = *refInt;
    return 0;
}
Спасибо
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #1 : Февраль 10, 2021, 14:44 »

Где вы в слове dump "б" углядели,? Даже интересно. Улыбающийся
А прочитать (для винды) https://soft-setup.ru/memory-dmp-chem-otkryt-fajl-dampa-pamyati-windows/
Ну и https://www.programmersought.com/article/7329367051/

Записан

opera
Чайник
*
Offline Offline

Сообщений: 93


Просмотр профиля
« Ответ #2 : Февраль 10, 2021, 16:01 »

Где вы в слове dump "б" углядели,? Даже интересно. Улыбающийся
А прочитать (для винды) https://soft-setup.ru/memory-dmp-chem-otkryt-fajl-dampa-pamyati-windows/
Ну и https://www.programmersought.com/article/7329367051/


Супер, спасибо.
Если из под студии, то код для создания crash dump тут: https://stackoverflow.com/questions/9020353/create-a-dump-file-for-an-application-whenever-it-crashes
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #3 : Февраль 10, 2021, 20:42 »

Просто зачем вам dump вообще? По хорошему, класс QTest ведь не просто так придумали.
Если ошибка в программе, то её надо отлавливать при отладке. Или, вообще, TDD использовать.
А если в системе, то вам от этого дампа не горячо, ни холодно. Улыбающийся
Записан

kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Февраль 11, 2021, 10:03 »

Просто зачем вам dump вообще? По хорошему, класс QTest ведь не просто так придумали.
Если ошибка в программе, то её надо отлавливать при отладке. Или, вообще, TDD использовать.
А если в системе, то вам от этого дампа не горячо, ни холодно. Улыбающийся
а на непредвиденные краши просто забить можно Веселый
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #5 : Февраль 11, 2021, 10:09 »

а на непредвиденные краши просто забить можно Веселый
Угу. А на особо запущенные случаи можно открыть консоль, вывести в него дамп и с важным видом любоваться на сыпящиеся байты. Как в Матрице. Веселый
Записан

opera
Чайник
*
Offline Offline

Сообщений: 93


Просмотр профиля
« Ответ #6 : Февраль 16, 2021, 13:57 »

Просто зачем вам dump вообще? По хорошему, класс QTest ведь не просто так придумали.
Если ошибка в программе, то её надо отлавливать при отладке. Или, вообще, TDD использовать.
А если в системе, то вам от этого дампа не горячо, ни холодно. Улыбающийся
в том-то и дело,что бывают непредвиденные падения, их как-то надо отлавливать, тестить на "боевой" среде нельзя,а там другие случаи,нежели на тестовой
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #7 : Февраль 16, 2021, 19:59 »

https://github.com/google/breakpad (старый)
https://chromium.googlesource.com/crashpad/crashpad/ (новый)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 22.