Как получить исключение из приложения Windows в режиме выпуска после успешного запуска в течение 10 часов, как обнаружено, что пошло не так? - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть приложение Qt, которое запускается на моем рабочем столе и собирает данные из Интернета.
Я заметил, что когда я запускаю его в режиме релиза после 10/15 часов работы, он выдает
исключение Windows, котороеПопросите отправить ошибку в Microsoft.
Я пытался получить файл ошибки, но я получил xml со всеми своими dll приложениями, которые он использует.это выглядит так: как мне вообще узнать, в чем причина исключения?

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="MyTestApp.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="libeay32.dll" SIZE="1099776" CHECKSUM="0x50839BDD" BIN_FILE_VERSION="1.0.0.4" BIN_PRODUCT_VERSION="1.0.0.4" PRODUCT_VERSION="1.0.0d" FILE_DESCRIPTION="OpenSSL Shared Library" COMPANY_NAME="The OpenSSL Project, http://www.openssl.org/" PRODUCT_NAME="The OpenSSL Toolkit" FILE_VERSION="1.0.0d" ORIGINAL_FILENAME="libeay32.dll" INTERNAL_NAME="libeay32" LEGAL_COPYRIGHT="Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x11B5DA" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.4" UPTO_BIN_PRODUCT_VERSION="1.0.0.4" LINK_DATE="02/19/2011 06:05:12" UPTO_LINK_DATE="02/19/2011 06:05:12" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="libssl32.dll" SIZE="237056" CHECKSUM="0x7C9A2CE9" BIN_FILE_VERSION="1.0.0.4" BIN_PRODUCT_VERSION="1.0.0.4" PRODUCT_VERSION="1.0.0d" FILE_DESCRIPTION="OpenSSL Shared Library" COMPANY_NAME="The OpenSSL Project, http://www.openssl.org/" PRODUCT_NAME="The OpenSSL Toolkit" FILE_VERSION="1.0.0d" ORIGINAL_FILENAME="ssleay32.dll" INTERNAL_NAME="ssleay32" LEGAL_COPYRIGHT="Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x40587" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.4" UPTO_BIN_PRODUCT_VERSION="1.0.0.4" LINK_DATE="02/19/2011 06:05:25" UPTO_LINK_DATE="02/19/2011 06:05:25" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="MyTestApp.exe" SIZE="764416" CHECKSUM="0x7E7F4BD6" MODULE_TYPE="WIN32" PE_CHECKSUM="0xC251C" LINKER_VERSION="0x0" LINK_DATE="02/23/2012 11:58:10" UPTO_LINK_DATE="02/23/2012 11:58:10" />
    <MATCHING_FILE NAME="QtCore4.dll" SIZE="2518528" CHECKSUM="0xAB9AF26C" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="QtCore4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x26AA8A" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 05:45:51" UPTO_LINK_DATE="12/08/2011 05:45:51" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="QtGui4.dll" SIZE="8350208" CHECKSUM="0xBA76BC4F" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="QtGui4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x803F75" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 05:58:59" UPTO_LINK_DATE="12/08/2011 05:58:59" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="QtNetwork4.dll" SIZE="1006080" CHECKSUM="0x2B31F4A6" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="QtNetwork4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xF9DD3" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 05:47:11" UPTO_LINK_DATE="12/08/2011 05:47:11" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="QtSql4.dll" SIZE="194560" CHECKSUM="0xE21A4335" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="QtSql4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x3183A" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 05:47:20" UPTO_LINK_DATE="12/08/2011 05:47:20" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="QtWebKit4.dll" SIZE="12747264" CHECKSUM="0x80601845" BIN_FILE_VERSION="4.9.0.0" BIN_PRODUCT_VERSION="4.9.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.9.0.0" ORIGINAL_FILENAME="QtWebKit4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xC2BEDF" LINKER_VERSION="0x4005A" UPTO_BIN_FILE_VERSION="4.9.0.0" UPTO_BIN_PRODUCT_VERSION="4.9.0.0" LINK_DATE="12/08/2011 08:59:06" UPTO_LINK_DATE="12/08/2011 08:59:06" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="QtXml4.dll" SIZE="341504" CHECKSUM="0x6B324163" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="QtXml4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x5D4B5" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 05:46:12" UPTO_LINK_DATE="12/08/2011 05:46:12" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="ssleay32.dll" SIZE="237056" CHECKSUM="0x7C9A2CE9" BIN_FILE_VERSION="1.0.0.4" BIN_PRODUCT_VERSION="1.0.0.4" PRODUCT_VERSION="1.0.0d" FILE_DESCRIPTION="OpenSSL Shared Library" COMPANY_NAME="The OpenSSL Project, http://www.openssl.org/" PRODUCT_NAME="The OpenSSL Toolkit" FILE_VERSION="1.0.0d" ORIGINAL_FILENAME="ssleay32.dll" INTERNAL_NAME="ssleay32" LEGAL_COPYRIGHT="Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x40587" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.4" UPTO_BIN_PRODUCT_VERSION="1.0.0.4" LINK_DATE="02/19/2011 06:05:25" UPTO_LINK_DATE="02/19/2011 06:05:25" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="imageformats\qgif4.dll" SIZE="27136" CHECKSUM="0xB301057E" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="qgif4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x154ED" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 09:04:56" UPTO_LINK_DATE="12/08/2011 09:04:56" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="imageformats\qico4.dll" SIZE="29184" CHECKSUM="0x5CF349C7" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="qico4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x10E8B" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 09:05:22" UPTO_LINK_DATE="12/08/2011 09:05:22" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="imageformats\qjpeg4.dll" SIZE="197632" CHECKSUM="0x3B21342B" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="qjpeg4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x38B4B" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="12/08/2011 09:04:51" UPTO_LINK_DATE="12/08/2011 09:04:51" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="sqldrivers\qsqlite4.dll" SIZE="546304" CHECKSUM="0x2905DF55" BIN_FILE_VERSION="4.8.0.0" BIN_PRODUCT_VERSION="4.8.0.0" FILE_DESCRIPTION="C++ application development framework." COMPANY_NAME="Nokia Corporation and/or its subsidiary(-ies)" PRODUCT_NAME="Qt4" FILE_VERSION="4.8.0.0" ORIGINAL_FILENAME="qsqlite4.dll" LEGAL_COPYRIGHT="Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x9356B" LINKER_VERSION="0x40050" UPTO_BIN_FILE_VERSION="4.8.0.0" UPTO_BIN_PRODUCT_VERSION="4.8.0.0" LINK_DATE="02/06/2012 10:41:55" UPTO_LINK_DATE="02/06/2012 10:41:55" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="989696" CHECKSUM="0x2D998938" BIN_FILE_VERSION="5.1.2600.5781" BIN_PRODUCT_VERSION="5.1.2600.5781" PRODUCT_VERSION="5.1.2600.5781" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.1.2600.5781 (xpsp_sp3_gdr.090321-1317)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFE572" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5781" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5781" LINK_DATE="03/21/2009 14:06:58" UPTO_LINK_DATE="03/21/2009 14:06:58" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
</DATABASE>

1 Ответ

2 голосов
/ 29 февраля 2012

Присоединение с помощью отладчика - хорошая идея.

Кроме того, когда вы получаете диалоговое окно Microsoft, вы можете нажать на ссылку «техническая информация» и (с небольшим щелчком мыши) выяснить, куда он записал основные файлы. Вам нужен дамп кучи, который, я думаю, хранится в .hdmp. Скопируйте это куда-нибудь, переименуйте в .dmp, и это обычный файл дампа. Вы можете открыть его с помощью Visual Studio (например) или WinDBG, и он покажет вам, где произошел сбой.

Иногда легко получить информацию из дампа, иногда нет, в зависимости от того, что вызвало сбой.

Кроме того, вам понадобятся символы (файл .pdb), иначе это ничего вам не скажет. Если вы скомпилировали из исходного кода, вы получите их, если не удалили их. Если вы не скомпилировали из исходного кода, посмотрите, сможете ли вы получить их там, где вы получили исходный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...