windows 提供的异常处理机制实际上只是一个简单的框架.我们通常所用的异常处理(比如 C++ 的 throw.try.catch)都是编译器在系统提供的异常处理机制上进行加工了的增强版本.这里先抛开增强版的不提,先说原始版本. 原始版本的机制很简单:谁都可以触发异常,谁都可以处理异常(只要它能看得见).但是不管是触发还是处理都得先注册.系统把这些注册信息保存在一个链表里,并且这个链表保存在线程的数据结构里.也就是说,异常所涉及的一些行为都是线程相关的.比如,线程 T1 触发的异常就只
C或者C++开发肯定经常会遇到各种错误码,由于每个错误码只是一个枚举或者一个整形数值,调试或者输出日志的时候,无法知道这个错误码的具体含义,这时候就需要将此错误码解释出来.对于自己定义的错误码,可以通过自己的方式进行解析.对于Windows API的错误码,则需要调用Windows的API进行解析,下面来介绍具体的错误码解析方法. Windows API 错误码解析 调用Windows API失败后,通常需要通过GetLastError来获取对应的错误码,要将此错误码解析为对应的描述信息,则需要
I will Make Impossible To I'm possible -----------LittleHann 看了2个多星期.终于把0DAY这本书给看完了,自己动手将书上的实验一个一个实现的感觉很不错,在学习的过程中,也增加了自己的信心. 这里希望做一个小小的总结,不是想说明自己有多牛逼,只是觉得学习应该是一个常思考,常总结的过程,分享一些学习overflow shellcode的学习新的.希望大神路过不要嘲笑我,因为每个人都是这么过来的,如果有幸能看别人有所收获,那就太好了,一下全
<本文转自:http://www.cppblog.com/woaidongmao/archive/2009/10/22/99211.aspx> 本文翻译自debugInfo网站上一篇文章generating debug information with visual c++.由于Chrome的Crash产生的Debug信息和这个有一些关系,因此做一些背景知识介绍 简介 当我们采用一个调试器调试一个应用程序时,我们总是希望能单步跟踪代码.设置断点.查看变量值,哪怕变量是自定义的用户类型.但是对于