随笔 - 64, 文章 - 11, 评论 - 12, 引用 - 0
数据加载中……

Debuging Tool Set(6 ):debug event

在我们用调试器打开或者附加调试目标之后,目标进程就处于调试环境中了。而调试器通常是用createprocess方法以debug模式来打开目标进程。从此目标进程中所发生的各种事件都会由操作系统派发到调试器中来,如下就是目标进程可能会产生的事件。
cpr:就是创建目标进程的事件,也就是第一个事件。
exp:退出目标进程的事件,也是最后一个事件。
ct:创建线程的事件。
et:退出进程的事件。
ld:加载模块到进程地址空间之后还没有执行。
ud:调用freeLibrary的缷载模块的事件。
有关调试目标的更多的事件,可以输入sx以查看。每一列是事件名,第二例是事件的简短描述,第三例是缺省的处理方式。也可以单击windbg中的debug菜单中的event fileter项来打开对话框窗口来设置更多的细节。
在调试环境中,对各种事件的处理方式提供了缺省的处理方式。我们也可以在调试过程中,根据需要改变相应的处理方式。
比如
我们想在内核载入driver1.sys驱动模块后停止以帮助我们下断点。
kd:sxe ld:driver1.sys
我们不关心载入driver2.sys驱动模块的事件。
kd: sxd ld:driver2.sys
我们忽略所有模块的载入输出信息
kd:sxi ld:*

当我们使用sxd时,相应事件的输出信息是会输出到调试环境中,但不会断下来。而使用sxi时,则调试器不接收相应的消息,也没有输出信息在窗口中输出。

posted on 2011-08-01 09:32 Robertxiao 阅读(211) 评论(0)  编辑 收藏 引用 所属分类: Debug


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理