WEB开发网
开发学院软件开发VC 介绍一个专门处理C++异常的类 阅读

介绍一个专门处理C++异常的类

 2010-01-23 20:32:25 来源:WEB开发网   
核心提示:简介:CExceptionLogger,是一个可以免费使用的C++类,介绍一个专门处理C++异常的类,用它可以截获未处理异常,如:非法存取、栈溢出、被零除等,发生异常的线程ID,列举进程中所有的线程(假设ToolHelp32是可获得的),并可以将异常详细信息记录到日志文件,这个类源自于MSDN Magazine 200

简介:

CExceptionLogger,是一个可以免费使用的C++类,用它可以截获未处理异常,如:非法存取、栈溢出、被零除等,并可以将异常详细信息记录到日志文件。这个类源自于MSDN Magazine 2002年3月的一篇专栏文章“Under the Hood: Improved Error Reporting with DBGHELP 5.1”,该文章的作者是 Matt Pietrek。

特性:

在默认情况下,CExceptionLogger产生一个日志文件,名字为:nameofexe.exception,这里的nameofexe是exe文件的名字。如果以ASCII模式生成CExceptionLogger,则日志文件为一ASCII文件;如果以UNICODE模式生成CExceptionLogger,那么日志文件为一UNICODE文件。日志文件记录的信息包括:

记录异常发生的日期和时间。

异常代码。

如果发生非法存取,则记录该异常的详细信息。

记录的异常详细信息包括:线性地址、段、偏移量和模块路径。

进程的全路径名。

当前Win32工作目录。

进程的命令行。

进程ID。

发生异常的线程ID。

列举进程中所有的线程(假设ToolHelp32是可获得的),内容包括:

线程ID

优先级和Delta优先级

参考

创建时间

Kernel 和 User Time

列举进程中的模块(同样假设ToolHelp32是可获得的),内容包括:

名字和全路径

全程及每个进程的引用计数

1 2 3  下一页

Tags:介绍 一个 专门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接