异常处理
stone-jin
这个作者很懒,什么都没留下…
展开
-
让程序在崩溃时体面的退出之Unhandled Exception
程序是由代码编译出来的,而代码是由人写的。人非圣贤,孰能无过。所以由人写的代码有缺陷是很正常的。当然很多异常都在开发阶段被考虑到而添加了处理代码,或者用try/catch对可能出现异常的地方进行额外的照顾。可是,还是会有一些无法预料的异常(Unhandled Exception)在程序运行的时候出现。这些异常很多时候都会招致程序的崩溃。那么有没有什么方法可以让程序在崩溃的时候体面的退出呢?答案是肯转载 2016-01-05 09:29:53 · 514 阅读 · 0 评论 -
让程序在崩溃时体面的退出之CallStack
原文Star-Lee大神blog里面转载的:http://blog.csdn.net/starlee/article/details/6618849在我的那篇《让程序在崩溃时体面的退出之Unhandled Exception》中提供了一个捕捉程序崩溃事件的方法,可以添加代码在程序崩溃的时候做出适当的处理。不过,只知道程序在什么时候崩溃,但是不知道为什么崩溃,这对于程序开发者来说没有任何意义。因转载 2016-01-05 21:57:46 · 326 阅读 · 0 评论 -
让程序在崩溃时体面的退出之Dump文件
原文Star-Lee大神那边地址:http://blog.csdn.net/starlee/article/details/6630816在我的那篇《让程序在崩溃时体面的退出之CallStack》中提供了一个在程序崩溃时得到CallStack的方法。可是要想得到CallStack,必须有pdb文件的支持。但是一般情况下,发布出去的程序都是Release版本的,都不会附带pdb文件。那么我们转载 2016-01-05 22:02:39 · 557 阅读 · 0 评论 -
让程序在崩溃时体面的退出之SEH
原文Star-Lee大神:http://blog.csdn.net/starlee/article/details/6636723 SEH的全称是Structured Exception Handling,是Windows操作系统提供的一种异常处理方式。SEH是属于操作系统的特性,不为特定语言设计,从它的名字就能看出它是一种结构化的异常处理方式。SEH包括了2个部分:终止处理__try/转载 2016-01-05 22:16:30 · 292 阅读 · 0 评论 -
让程序在崩溃时体面的退出之SEH+Dump文件
原文来自:http://blog.csdn.net/starlee/article/details/6649605在我上篇文章《让程序在崩溃时体面的退出之SEH》中讲解了SEH中try/except可以捕捉异常,避免程序的崩溃,并且可以在处理完异常之后,还能决定进该进程如何执行。对于应用程序的使用者来说,并不知道异常的发生。但是对于软件的开发者来说,虽然避免了程序的崩溃,可是这样可以让程序转载 2016-01-05 22:22:50 · 298 阅读 · 0 评论 -
让程序在崩溃时体面的退出之终极解决方案(SEH+Dump+Unhandled Exception Filter)
原文:http://blog.csdn.net/starlee/article/details/6655779在我的上篇文章《让程序在崩溃时体面的退出之SEH+Dump文件》我介绍了怎样用SEH加上Dump文件来避免程序的崩溃并在程序崩溃时创建Dump文件来帮助定位出现异常的代码行。可是只有try/except块中try块中的代码出现异常才能被捕捉到,try块外面的代码出现异常,程序照样会转载 2016-01-05 22:27:16 · 442 阅读 · 0 评论 -
让程序在崩溃时体面的退出之总结
原文:http://blog.csdn.net/starlee/article/details/6662011终于把《让程序在崩溃时体面的退出》这个系列的6篇文章全部发表出来了。 这6篇文章分别是: 《让程序在崩溃时体面的退出之Unhandled Exception》 《让程序在崩溃时体面的退出之CallStack》转载 2016-01-05 22:30:22 · 988 阅读 · 0 评论 -
让Windows下的应用程序在崩溃的时候写dump文件的代码
#pragma once#include "shared/util.h"#include #include "util/user.h"BOOL CALLBACK MyMiniDumpCallback(PVOID, const PMINIDUMP_CALLBACK_INPUT input, PMINIDUMP_CALLBACK_OUTPUT output){ if(input == N原创 2016-01-25 00:41:01 · 1189 阅读 · 1 评论