Qt 创建程序,屏蔽错误框,但错误框仍存在阻止程序运行

huayufei 2017-04-27 09:03:39
Qt 创建程序,WIN7 32位机器运行一段时间,长的9天,短的5天右,程序会提示错误,为保证程序能持续运行,添加部分代码,来记录错误生成dump文件,代码如下:
LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException){//程式异常捕获
QString s = QTime::currentTime().toString("HH时mm分ss秒zzz")+".dmp";
HANDLE hDumpFile = CreateFile(s.utf16(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if( hDumpFile != INVALID_HANDLE_VALUE){
//Dump信息
MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
dumpInfo.ExceptionPointers = pException;
dumpInfo.ThreadId = GetCurrentThreadId();
dumpInfo.ClientPointers = TRUE;
//写入Dump文件内容
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
}
return EXCEPTION_EXECUTE_HANDLER;
}

这段代码在其它机器测试时,均会生成日志文件且退出;
但在现场提示错误

从系统日志查看错误信息如下:

日志名称: Application
来源: Application Error
日期: 2017/4/22 1:32:41
事件 ID: 1000
任务类别: 应用程序崩溃事件
级别: 错误
关键字: 经典
用户: 暂缺
计算机: UNO-PC
描述:
错误应用程序名称: MP_Interface.exe,版本: 1.0.0.0,时间戳: 0x58f5ceb4
错误模块名称: ntdll.dll,版本: 6.1.7601.17514,时间戳: 0x4ce7b96e
异常代码: 0xc0000005
错误偏移量: 0x00052d37
错误进程 ID: 0xa08
错误应用程序启动时间: 0x01d2b81eaaf62b86
错误应用程序路径: D:\SE\bin\MP_Interface.exe
错误模块路径: C:\windows\SYSTEM32\ntdll.dll
报告 ID: 85461ee2-26b8-11e7-be33-000babb38208
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-04-21T17:32:41.000000000Z" />
<EventRecordID>1760</EventRecordID>
<Channel>Application</Channel>
<Computer>UNO-PC</Computer>
<Security />
</System>
<EventData>
<Data>MP_DkInterface.exe</Data>
<Data>1.0.0.0</Data>
<Data>58f5ceb4</Data>
<Data>ntdll.dll</Data>
<Data>6.1.7601.17514</Data>
<Data>4ce7b96e</Data>
<Data>c0000005</Data>
<Data>00052d37</Data>
<Data>a08</Data>
<Data>01d2b81eaaf62b86</Data>
<Data>D:\SE\bin\MP_DkInterface.exe</Data>
<Data>C:\windows\SYSTEM32\ntdll.dll</Data>
<Data>85461ee2-26b8-11e7-be33-000babb38208</Data>
</EventData>
</Event>

哪位高手看看,可以确认程序出错后退出即可
...全文
417 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个是直接崩溃的,崩溃后windows弹出的错误框,要解决只能解决为什么会崩溃。因要5天或9天才会出现,可以设置周期性复位即到4天就让他自动重启一次,这样就不会到5天时崩,或者每天都重启就可一直让他运行,但不崩溃。
huayufei 2017-04-27
  • 打赏
  • 举报
回复
使用未初始化指针,越界访问列表等在现场模拟,可以退出程序 但程序运行中错误却会提示错误框,????
huayufei 2017-04-27
  • 打赏
  • 举报
回复
现在想让现场程序能运行,同时查找问题所在 但有错误框卡着,现场不能运行。
懒懒的吉他手 2017-04-27
  • 打赏
  • 举报
回复
为什么不去解决程序出错的问题?

16,214

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧