У меня есть файл дампа, собранный пользователем, который испытывает проблему при запуске моего приложения на C++, и я пытаюсь выяснить, сбой приложения. Из того, что я вижу в файле дампа, нет никаких исключений или ошибок, указывающих на сбой, и нет каких-либо тупиковых потоков, конкурирующих за мьютекс или другой объект синхронизации.Как определить, является ли файл дампа аварийным сбой
Расположение программы для основного потока, при которой был создан дамп вызова виртуальной функции, но виртуальные таблицы для объекта является правильной и указует на правую функцию, например, код
FindIt = m_EntityList[m_ListPos]->GetChainageOffset(X,Y,Chainage,Offset);
и смотрит на переменные я вижу
Правильно ли я думать, что это, кажется, не будет ошибки страницы/незаконное разыменовать или я что-то отсутствует Вот? Я проверил все остальные потоки в пуле потоков, и они неактивны. Был ли файл дампа всегда иметь код исключения и информацию об ошибках в случае сбоя?
Вы пытаетесь использовать Windbg сделать анализ на файл дампа? Он скажет вам, если exe разбился – Matt
@Matt, я использовал VS2015 для отладки файла дампа, который был компилятором, используемым для разработки. У Windbg есть трудности с загрузкой всех символов. Имеет ли он какие-либо преимущества перед отладчиком VS2015, поскольку это дает мне расположение программ для каждого потока? –
В обычных случаях VS будет делать. Windbg, безусловно, может получить дополнительную информацию из дампа, более подробную информацию здесь: http: //stackoverflow.com/questions/105130/why-use-windbg-vs-the-visual-studio-vs-debugger – Matt