相关推荐
-
漫谈兼容内核之十九:Windows线程间的强相互作用
在现代的计算机系统中,一项作业(Job)往往需要多个进程或线程的协作,而操作系统则要为进程或线程间的协作提供基础设施和机制上的支持。操作系统、特别是内核,提供什么样的设施和手段,系统中的进程之间和线程之间就会有什么样的相互作用。如果把一个系统比作一个社会,那么系统中的进程和线程就好像是社会中的成员。成员的行为和成员之间的关系有其“社会性”的一面、即互相影响的一面。例如一个线程的调度优先级
-
python灰帽子--调试器基础4:实现调试事件处理
承接上文,调试器基础2,调试器基础3 为了让调试器能够针对特定的事件采取相应的行动,我们必须给所有调试器能够捕捉到的调试事件,编写处理函数。 回顾一下上文提到的WaitForDebugEvent()函数,每当它捕获到一个调试事件的时候,就返回一个填充好的DEBUG_EVENT结构。 现在我们要用存储在结构里的信息决定如何处理调试事件 DEBUG_EVENT定义如下: typedef struct DEBUG_EVENT { DWORD dwDebugEventCode; DWORD dwProcessI
-
[Win32]一个调试器的实现(一)调试事件与调试循环
[Win32]一个调试器的实现(一)调试事件与调试循环 作者:Zplutor出处:http://www.cnblogs.com/zplutor/本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 前言 程序员离不开调试器,它可以动态显示程序的执行过程,对于解决程序问题有极大的帮助。如果你和我一样对调试器...
-
zebra代码简单分析
http://blog.chinaunix.net/uid-21568264-id-203665.html 1) zebra是很有名的linux下的开源路由软件项目,代码写的非常漂亮,模块化,很清晰的结构。 关于软件的框架部分就不说了,zebra 官方网站上已经有详细的解释了,简单的来说:zebra作为一个守护进程来维护linux路由信息,其他模块ri...
-
LOAD_DLL_DEBUG_EVENT调试事件
LOAD_DLL_DEBUG_EVENT结构如下typedef struct _LOAD_DLL_DEBUG_INFO { HANDLE hFile; LPVOID lpBaseOfDll; DWORD dwDebugInfoFileOffset; DW
-
Win32 调试接口设计与实现浅析
所谓调试器实际上是一个很宽泛的概念,凡是能够以某种形式监控其他程序执行过程的程序,都可以泛称为调试器。在Windows平台上,根据调试器的实现原理大概可以将之分为三类:内核态调试器、用户态调试器和伪代码调试器。 内核态调试器直接工作在操作系统内核一级,在硬件与操作系统之间针对系统核心或驱动进行调试,常见的有SoftICE、WinDbg、WDEB386和i386KD等等;用户态调试器则通过
-
Win32 调试接口设计与实现浅析 [3] 创建调试子系统
http://www.blogcn.com/user8/flier_lu/index.html?id=1618917 在本系列文章的前两篇文章中,简要地介绍了 Win32 调试接口中用户态调试器结构和调试事件的相关知识 Win32 调试接口设计与实现浅析 [1] 用户态调试器结构初探 Win32 调试接口设计与实现浅析 [2] 调试事件 在这一小节中,将进一步
-
Debugging Events
原文链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679302%28v=vs.85%29.aspx 本文链接: A debugging event is an incident in the process being debugged that causes the system to notify the
-
3.调试事件的处理
调试器会有一个循环一直判断EventList有没有调试事件有就取出来处理。 调试器创建形式 关联调试器与被调试器进程 调试循环 每一种收集调试事件API都不一样,是因为它要收集调试事件的类型是不一样的。 这是异常要收集的调试事件 typedef struct _EXCEPTION_DEBUG_INFO { EXCEPTION_RECORD ExceptionRecord; ...
-
用Debug函数实现API函数的跟踪
如果我们能自己编写一个类似调试器的功能,这个调试器需要实现我们对于跟踪监视工具的要求,即自动记录输入输出参数,自动让目标进程继续运行。下面我们就来介绍在不知道函数原型的情况下也可以简单输出监视结果的方案——用Debug函数实现API函数的监视。 用Debug函数实现API函数的监视大家知道,VC可以用来调试程序,除了调试Debug程序,当然也可以调试Release程 序(调试Release
-
不错的关于windows平台下用户模式调试器的原理
不错的关于windows平台下用户模式调试器的原理 所谓调试器实际上是一个很宽泛的概念,凡是能够以某种形式监控其他程序执行过程的程序,都可以泛称为调试器。在Windows平台上,根据调试器的实现原理大概可以将之分为三类:内核态调试器、用户态调试器和伪代码调试器。 内核态调试器直接工作在操作系统内核一级,在硬件与操作系统之间针对系统核心或驱动进行调试,常见的有SoftICE、Wi
-
理解操作系统对程序的反馈:异常(Exception)和通知(Debug Event)【2】
2.3.3 通知(Debug Event)是操作系统跟调试器交流的一种方法通知,也叫做调试信息(Debug Events),是操作系统在某些事件发生的时候,通知调试器的一个手段。跟异常处理相似,操作系统在某些事件发生的时候,会检查当前进程是否有调试器加载。如果有,就会给调试器发送对应的消息,以便使用调试器进行观察。跟异常不一样的地方就是,只有调试器才会得到通知,应用程序本身是得不到的。同时调试器得到通知后不需要做什么处理,没有1st /2nd chance的差别。在Windbg帮助文件的Controllin
-
Windows软件调试学习笔记(三)—— 调试事件的处理
软件调试学习笔记(三)—— 调试事件的处理要点回顾调试事件的处理实验一:实现简单调试器(创建进程)实验二:分析异常来源实验三:实现简单调试器(附加进程)实验四:分析NtDebugActiveProcess总结 要点回顾 当调试器与被调试进程建立连接后,调试器与被调试进程关系如下图所示 被调试进程产生调试事件时,会有专门的API对调试事件进行捕获,并写入调试事件链表当中。 调试器不断检索调试事件链表,不断从调试事件链表中取出调试事件并进行处理。 调试事件的处理 调试器调试目标进程步骤: 关联(创建进程
26 楼 biaowen 2009-12-26 16:17
25 楼 rong889 2009-12-26 15:58
24 楼 liangguanhui 2009-12-26 15:49
23 楼 fykyx521 2009-12-26 15:18
会做生意。
22 楼 yutiansky 2009-12-26 14:50
21 楼 ptlinhuaming 2009-12-26 13:31
http://linhyman.appspot.com/?q=雨林木风+转型+战略
20 楼 ptlinhuaming 2009-12-26 13:30
http://linhyman.appspot.com/?q=雨林木风+转型+战略
19 楼 keating 2009-12-26 12:40
18 楼 ray_linn 2009-12-26 12:16
我发现在我们中国的社区中,只要有人推出什么自己写框架或工具什么的,立马就会遭到很多人鄙视,一会说抄这个,一会说抄那个。你们连这种敢做的想法都没有,有什么资格骂别人,是崇洋媚外习惯了吧。借用JE中经常说的一句话:不要重复的造轮子。
windows当年不也是模仿MAC的吗!
为什么就值得学习了? 你代表我说的么?
17 楼 不复记忆 2009-12-26 11:35
16 楼 江南孤鹰 2009-12-26 10:27
15 楼 NumbCoder 2009-12-26 10:09
我发现在我们中国的社区中,只要有人推出什么自己写框架或工具什么的,立马就会遭到很多人鄙视,一会说抄这个,一会说抄那个。你们连这种敢做的想法都没有,有什么资格骂别人,是崇洋媚外习惯了吧。借用JE中经常说的一句话:不要重复的造轮子。
windows当年不也是模仿MAC的吗!
14 楼 chandler 2009-12-26 09:28
13 楼 wb17534806 2009-12-26 09:23
Linux看样子有前途。微软,俺是用不起正版!
12 楼 liusu 2009-12-26 08:50
从版权来批评人家的操作系统无可无非,就有这么多替人担忧的家伙。
11 楼 jansel 2009-12-26 08:26
图标也是有版权的,要脱离就脱离的彻底点。
10 楼 andyhan 2009-12-25 20:51
9 楼 dxf1122 2009-12-25 19:29
8 楼 allenny 2009-12-25 18:31
7 楼 luckaway 2009-12-25 17:55