07 2019 档案

浮点数的运算步骤
摘要:浮点数的加减运算一般由以下五个步骤完成:对阶、尾数运算、规格化、舍入处理、溢出判断 一、对阶 所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行M x·2Ex与M y·2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值 阅读全文

posted @ 2019-07-31 18:39 活着的虫子 阅读(28221) 评论(4) 推荐(2) 编辑

C++异常处理机制
摘要:异常处理是C++的一项语言机制,用于在程序中处理异常事件。异常事件在C++中表示为异常对象。异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的try块,依次匹配catch语句中 阅读全文

posted @ 2019-07-25 18:49 活着的虫子 阅读(4650) 评论(0) 推荐(0) 编辑

结构化异常SEH处理机制详细介绍(二)
摘要:本文将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。SEH实际包含两个主要功能:结束处理(termination handling)和异常处理(exception handling)。每当你建立一个tr 阅读全文

posted @ 2019-07-24 16:10 活着的虫子 阅读(1062) 评论(0) 推荐(0) 编辑

结构化异常SEH处理机制详细介绍(一)
摘要:结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能。而Visual C++中的__try{}/__finally{}和__try{}/__except{}结构本质上是对Windows提供的SEH的封装。 一、分类 Per-Thread类型SEH(也称为线程异常处理),用来监视某线 阅读全文

posted @ 2019-07-23 19:47 活着的虫子 阅读(9386) 评论(1) 推荐(3) 编辑

Windows异常的分发处理流程
摘要:根据异常来源,一般分硬件异常和软件异常,它们处理的流程大致一样,下面简单讲一下。 如果是硬件异常,CPU会根据中断类型号转而执行对应的中断处理程序。CPU会在IDT中查找对应的函数来处理,各个异常处理函数不仅仅处理异常还需要将异常信息封装,以便对后续处理,KiTrapXX例程在完成针对本异常的特别动 阅读全文

posted @ 2019-07-23 15:08 活着的虫子 阅读(2015) 评论(1) 推荐(1) 编辑

Windows异常处理机制简介
摘要:windows系统里,为了保证系统内核的强壮和稳定,为了保证用户程序的强壮和稳定,提供了异常处理机制,来帮助程序员和系统使用人员处理异常。简单来说,当CPU执行代码时,发生异常,会把异常告知操作系统,操作系统首先会让程序自身处理这个异常,程序自身有能力(程序中注册的有异常处理函数)处理,程序就继续运 阅读全文

posted @ 2019-07-22 15:40 活着的虫子 阅读(1548) 评论(0) 推荐(0) 编辑

Windows异常
摘要:一、什么是异常 异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。简单来说异常就是对于非预期状况的处理,当我们在运行某个程序时出现了异常状况,就会进入异常处理流程。 二、异常分类 根据异常来源分,可以分为如下两种异常: 硬件异常硬件异常是由cpu产生,其中硬 阅读全文

posted @ 2019-07-20 15:35 活着的虫子 阅读(656) 评论(0) 推荐(0) 编辑

Windows异常相关数据结构
摘要:当一个异常发生时,操作系统要向引起异常的线程的栈里压入三个结构,这三个结构是:E X C E P T I O N _ R E C O R D结构、C O N T E X T结构和E X C E P T I O N _ P O I N T E R S结构。 一、E X C E P T I O N _ 阅读全文

posted @ 2019-07-20 14:05 活着的虫子 阅读(818) 评论(0) 推荐(0) 编辑

PDB符号文件浏览工具介绍
摘要:一、SymView SymView工具用来显示符号文件中包含的符号表和符号数据。目前支持微软的Visual C/C++和C#编译器产生的DBG格式的符号文件和PDB格式的符号文件。 SymView提供了以下多种方式来查看或者搜索符号文件的内容: 符号表 PDB或DBG文件中可以包含6种符号表,分别为 阅读全文

posted @ 2019-07-18 16:56 活着的虫子 阅读(2869) 评论(0) 推荐(0) 编辑

PDB符号文件
摘要:一、什么是PDB文件 PDB(Program DataBase),全称为“程序数据库”文件。存储程序的所有调试信息数据。在编译连接时,如果选择了/debug选项或/debug:full选项,则最新的Microsoft链接器在链接时创建程序数据库(PDB)文件。pdb文件包含有关可执行文件创建的信息, 阅读全文

posted @ 2019-07-18 14:32 活着的虫子 阅读(2660) 评论(0) 推荐(0) 编辑

调试信息
摘要:一、什么是调试信息 调试信息即是符号,用于配合帮助调试器分析调试被调试程序的布局,因此调试信息能够帮助调试器定位变量、函数地址,显示变量的值(包括结构体以及类等复杂的结构),并且能够将地址映射到源代码的行。 二、调试信息分类 公开函数和变量描述跨编译单元的可见函数何变量,调度信息存储其位置和名字 私 阅读全文

posted @ 2019-07-17 15:29 活着的虫子 阅读(728) 评论(0) 推荐(0) 编辑

符号文件是如何工作的
摘要:我们知道符号文件对我们调试是非常重要的,如果没有符号文件,我们在调试器里看到的要么是偏移地址,要么看到的是错误符号,这会导致我们定不了位或错误定位,如果有了匹配的符号文件,这一切都不是问题了。 一、调试器寻找符号文件 首先在我们编译我们的程序时,如果设置了符号选项,那么在编译连接时,除了产生我们需要 阅读全文

posted @ 2019-07-16 14:59 活着的虫子 阅读(919) 评论(0) 推荐(0) 编辑

认识符号文件
摘要:一、什么是符号文件 符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。用 阅读全文

posted @ 2019-07-15 19:32 活着的虫子 阅读(1030) 评论(2) 推荐(1) 编辑

字符编码
摘要:一、什么是字符 字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。字符是电子计算机或无线电通信中字母、数字、符号的统称。是计算机中经常用到的二进制编码形式,也是计算机中最常用到的信息形式。 二、字符集 不同民族、地区或系统使用不同的符号代表着相同不同的意义。对 阅读全文

posted @ 2019-07-13 14:32 活着的虫子 阅读(431) 评论(0) 推荐(0) 编辑

模和同余定理
摘要:一、什么是余数 在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数。我们在读小学二年级时,已经学了带余数的出发了,我们来温习一下。 通过做了这么多年除法,我们可以理解到,余数是指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数,也就是说余数一定比除 阅读全文

posted @ 2019-07-13 10:49 活着的虫子 阅读(3567) 评论(0) 推荐(1) 编辑

数的编码
摘要:一、机器数 就是将数学里实数系的数在计算机里的二进制表现形式称为机器数。在数学里,数有正负之分,正数前面加个(+)这个符号来表示(一般不加),负数前面一定要加上符号(-)来表示,比如2位10进制数正10可以表示位+10,负10表示为-10。我们可以看到,当加上符号后,由2位数变成了3位数,加了一个符 阅读全文

posted @ 2019-07-12 15:44 活着的虫子 阅读(1318) 评论(0) 推荐(0) 编辑

Win32 Error Code COM Error Code NTSTATUS的区别、转换
摘要:这三种码其实都是Windows系统错误码,只是对应不同API和使用场景。它们既有区别,又相互有联系。 一、区别和联系 都是32位值 Win32 Error Code和NTSTATUS位域组成相同,但Win32 Error Code的取值范围只能在0x00000000 0x0000FFFF Win32 阅读全文

posted @ 2019-07-10 19:28 活着的虫子 阅读(1246) 评论(0) 推荐(0) 编辑

Error Codes Messages查找工具介绍
摘要:当我们通过各种手段获取到一个Windows错误码后,如何获取对应的错误消息呢?有两种方法:一是用编程的手段(FormatMessage);其二是用现成的工具。第一种方法一般在我们编码的时候有用,而更多情况下我们进行调试得到了错误码,不可能还要先写一段代码,而是直接用工具去快速获取了。 一、VS自带工 阅读全文

posted @ 2019-07-10 17:18 活着的虫子 阅读(867) 评论(0) 推荐(1) 编辑

NTSTATUS
摘要:一、NTSTATUS 直译就是NT状态,也就是内核状态。主要是内核开发/驱动开发用到的API返回的状态。许多内核模式的标准驱动程序例程和驱动程序支持例程使用ntstatus类型作为返回值。此外,当完成IRP时,驱动程序在IRP的IO状态块结构中提供一个ntstatus类型的值。 ntstatus值分 阅读全文

posted @ 2019-07-10 14:21 活着的虫子 阅读(3717) 评论(0) 推荐(0) 编辑

COM Error Code(HRESULT)部分摘录
摘要:Return value/code Description 0x00030200 STG_S_CONVERTED The underlying file was converted to compound file format. 0x00030201 STG_S_BLOCK The storage 阅读全文

posted @ 2019-07-10 11:20 活着的虫子 阅读(3768) 评论(0) 推荐(0) 编辑

COM Error---HRESULT
摘要:一、COM Error 调用COM接口产生的错误。几乎所有的COM函数和接口方法都返回类型为HRESULT的值。HRESULT(用于结果句柄)是返回成功、警告和错误值的一种方法。HRESULTs实际上不是任何事物的句柄;它们只是值中有几个字段编码的值。根据COM规范,结果为零表示成功,非零表示失败。 阅读全文

posted @ 2019-07-09 19:09 活着的虫子 阅读(747) 评论(0) 推荐(0) 编辑

Win32 Error
摘要:一、Win32错误 也就是Win32子系统产生的错误。当我们在自己的代码里调用Windows系统的API函数,系统执行API内部代码,当API内部代码出现错误,会将预先定义好的错误代码写到调用这个API的线程局部存储区域(这个区域是每个线程独有的其他线程无法更改。它存储着一些线程独有的东西),然后A 阅读全文

posted @ 2019-07-09 17:08 活着的虫子 阅读(2822) 评论(0) 推荐(1) 编辑

windows错误代码摘录
摘要:Windows API 错误代码定义在winerror.h里,当我们得到一个Error Code不知其意时,可以查阅这个文件 这里定义了绝大部分的错误,摘录翻译如下 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 阅读全文

posted @ 2019-07-08 17:11 活着的虫子 阅读(1347) 评论(0) 推荐(0) 编辑

Windows系统错误处理机制
摘要:一、什么是错误 意为意为不正确,与正确答案相反。我们这里讲的是Windows操作系统里进程运行时产生的错误。对我们程序员来说,其实也就是我们编程过程中,调用Windows系统提供的API、COM 接口、内核驱动开发接口,这些API或接口失败时产生的错误。这些错误会导致我们的程序代码完成不了预设的功能 阅读全文

posted @ 2019-07-08 15:03 活着的虫子 阅读(1291) 评论(0) 推荐(0) 编辑

计算机的基础数据类型
摘要:一、类型 英文表达是Type或者Pattern指包含由各特殊的事物或现象抽出来的共通点的抽象概念。是逻辑演算中关于主目的不可兼的分类谱系之一。具有共同特征的事物所形成的种类。它和类别的差异是:类型强调共同性,类别强调差异性。广义的类型一般被定义为一种约束,也就是一种逻辑公式。类型被认为是一系列满足确 阅读全文

posted @ 2019-07-06 10:32 活着的虫子 阅读(2717) 评论(0) 推荐(0) 编辑

逻辑代数简介
摘要:一、什么是逻辑代数 又叫布尔代数、开关代数。它是反映事物之间的因果关系,反映和处理逻辑关系的数学工具。它的变量值只有真或假(即1、0),分别代表两种状态。正是这一点,它可以很好的和二进制以及现代的数字电路结合在一起,实现现代计算机的复杂计算功能。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用 阅读全文

posted @ 2019-07-05 11:22 活着的虫子 阅读(2931) 评论(0) 推荐(0) 编辑

数系的发展
摘要:数学史的发展,伴随着数系的扩展。随着时间的推移,新的“数”不断被提出,用以完善数学理论。个体的成长重演着人类的发生,我们都有过扳手指头算术的经历,但谁能够想象在原始社会或者在非洲某个部落里面,一个人能够数到三就是很大荣耀。本科课程学完,我们应该已经达到了科学发展到二十世纪的水平。这就是神奇的历史。 阅读全文

posted @ 2019-07-04 15:29 活着的虫子 阅读(1118) 评论(0) 推荐(0) 编辑

什么是数据
摘要:一、数据 人类社会里的数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。数据可以是连续的值,比如声音、图像,称为模拟 阅读全文

posted @ 2019-07-03 14:54 活着的虫子 阅读(2838) 评论(0) 推荐(0) 编辑

数据的字节序及对硬件的影响
摘要:一、字节序 我们知道,计算机处理数据和存储数据的基本单元是一个字节。如果我们的数据超过一个字节,数据要怎么存储和处理。比如一个简单整形数据数0x12345678,这是一个四字节的十六进制数据,按照我们在数的进制里讲的,这个数从左到右排列,是按照由高位到低位排列的,不同的位的位权不一样,这个进制里的位 阅读全文

posted @ 2019-07-03 14:04 活着的虫子 阅读(805) 评论(0) 推荐(0) 编辑

Dump文件的校验查看工具
摘要:当我们抓取到Dump文件后,我们抓取的方式对不对,是否包含了我们想要的信息,可不可用,又或这个文件在抓取或传输过程种,有没有损坏,又或者我不想用Windbg进行细致的分析,只想大概了解下异常信息,在这样的需求下,有没有工具帮我们快速浏览Dump文件信息呢,有,今天给大家介绍两款工具。 一、DumpC 阅读全文

posted @ 2019-07-02 14:01 活着的虫子 阅读(3029) 评论(3) 推荐(0) 编辑

Dump文件数据存储格式(一)
摘要:我们已经了解了什么是Dump文件,它保存了什么数据,有什么作用,但它是如何存储的,数据格式是怎样的呢。下面简单说一下。 一、总体结构 二、文件头 首先文件的最开始的32个字节是Dump文件的文件头,这里包含了Dump文件标识、格式版本、校验和、时间戳和一些标志,数据结构如下 typedef stru 阅读全文

posted @ 2019-07-01 14:02 活着的虫子 阅读(6984) 评论(1) 推荐(2) 编辑

导航