应用程序有bug崩溃重启的案例2
------解决思路----------------------
另外做一个服务或者程序定时监控系统进程。程序奔溃的话,都会在入口函数出现异常处理一下
winform可以有两个事件来捕获主线程异常和线程异常,Application.ThreadException和Application.SetUnhandledExceptionMode
你做一个保姆程序,主程序启动时通过ServiceController启动你的服务,窗体退出前停止你的服务。
服务的代码大致如下:
System.Timers.Timer timer = new System.Timers.Timer(500);
timer.Elapsed += Nurse;
timer.AutoReset = true;
timer.Start();
private void Nurse(object sender, System.Timers.ElapsedEventArgs e)
{
if (Process.GetProcessesByName("报错窗体进程名称").Where(s => s.MainWindowHandle != IntPtr.Zero).Count() > 0)
{
//杀死该进程
}
if (Process.GetProcessesByName("你的应用进程名称").Where(s => s.MainWindowHandle != IntPtr.Zero).Count() == 0)
{
//重启你的程序
}
}
原文链接:http://www.myexception.cn/c-sharp/2029782.html
应用程序有bug崩溃重启的案例2的更多相关文章
- 应用程序有bug崩溃重启的案例
1.程序主界面代码 using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;u ...
- 微信小程序计算器Bug版=-=(笔记)
微信小程序计算器BUG版本 无APPID的测试号登录,先在app.json中更改路径,以及修改头部信息. 首先一个输入框字段用{{screenData}} 功能可以退格,清屏,正负号,正常操作加减乘除 ...
- python程序爬虫总是崩溃
写的一个爬虫程序,主要用到以下库.但是伴随着代码增多,功能增多.经常性的程序崩溃现象,逐渐显现. pyqt5_5.8.2,requests.get,selenium+chorme,threading. ...
- 【iOS】iOS 调试快速定位程序在哪崩溃
iOS 开发过程中经常遇到程序崩溃.快速定位程序在哪崩溃的步骤如下: 1. 2. 3. 这样设置后,程序崩溃时会定位到崩溃的语句,如下: 原文链接:iOS开发何如在调试的时候轻松找到程序在哪里崩溃
- 微信小程序 TypeScript bug
微信小程序 TypeScript bug 执行自定义预览前预处理命令失败! internal/modules/cjs/loader.js:584 throw err; ^ Error: Cannot ...
- N3K异常重启(案例)
在实际的情况下,有时候会遇到设备无故重启的问题,这个时候,我们需要判断一下重启的根本原因是什么,是否有规避的方法等. 这里记录了几个N3K异常重启的问题. 案例1: 设备型号:N3K-C3048TP- ...
- java:如何让程序按要求自行重启?
正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application. 为什么要自我重启? 场景1:分布式环境中, ...
- mfc封装cef浏览器 关闭整个窗口程序得时候又重启mfc 应用的程序
最近使用mfc 做了一个cef得浏览器 多标签得.当使用这个封装得浏览器一段时间之后(超过1分钟2分钟) 当关闭封装得浏览器整个窗体 x得时候,整个窗体又重新弹了出来. 大概现象就是一个exe程序你杀 ...
- 非IT行业大企程序员讲述MIS系统开发案例
雪莉叹了一口气,调整了一下被汗水濡湿的刘海,然后向后靠在办公椅中,伸手在电脑键盘上输入了一些内容, 最后拿起印刷着房地产广告的扇子,边扇风边等待着. 她的工位在办公室的东侧角落,侧靠着窗.此时 ...
随机推荐
- [Leetcode] combination sum ii 组合之和
Given a collection of candidate numbers ( C ) and a target number ( T), find all unique combinations ...
- POJ.1003 Hangover ( 水 )
POJ.1003 Hangover ( 水 ) 代码总览 #include <cstdio> #include <cstring> #include <algorithm ...
- linux 下文件重命名/移动/复制命令(转)
linux 下文件重命名/移动/复制命令(转) linux下重命名文件:使用mv命令就可以了, 例:要把名为:abc 重命名为:123 可以这样操作: 重命名:MV命令 1.进入你的文件目录,运行 ...
- bzoj 4414 数量积 结论题
数量积 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 389 Solved: 147[Submit][Status][Discuss] Descri ...
- Qt中内存泄露和退出崩溃的问题 delete
Qt中帮程序员做了一些内存回收的事情,但正因为这些反而让对此不熟悉的人会屡屡犯错. 收录一篇不错的文章: 在C++中学习过程中,我们都知道: delete 和 new 必须 配对使用(一 一对应):d ...
- oracle 国外网站【转载】
[转自]:http://www.2cto.com/database/201406/306615.html 1. http://www.oratechinfo.co.uk/ http://www.ora ...
- ZooKeeper动态配置(十四)
概述 在3.5.0发行之前,ZK的全体成员和所有其它的配置参数是静态加载的在启动的时候并且在运行的时候不可变.操作员诉诸于"滚动重启" - 一个手动密集和改变配置文件容易出错的方法 ...
- Spring 学习笔记之整合Hibernate
Spring和Hibernate处于不同的层次,Spring关心的是业务逻辑之间的组合关系,Spring提供了对他们的强大的管理能力, 而Hibernate完成了OR的映射,使开发人员不用再去关心SQ ...
- poj 3376 Finding Palindromes
Finding Palindromes http://poj.org/problem?id=3376 Time Limit: 10000MS Memory Limit: 262144K ...
- 数学:拓展BSGS
当C不是素数的时候,之前介绍的BSGS就行不通了,需要用到拓展BSGS算法 方法转自https://blog.csdn.net/zzkksunboy/article/details/73162229 ...