首页
社区
课程
招聘
[旧帖] [求助]windbg怎么进入不了我想进的函数里面? 0.00雪花
发表于: 2011-10-15 16:40 4396

[旧帖] [求助]windbg怎么进入不了我想进的函数里面? 0.00雪花

2011-10-15 16:40
4396
最近学习文件驱动的minifilter,我在DriverEntry函数里加入中断代码:#if DBG _asm int 3 #endif时windbg调试时能中断下来。但是如果我在DriverEntry没加中断,在SwapPostReadBuffers函数中加入中断却不能中断,即使我在虚拟机里打开记事本能产生IRP_MJ_READ消息。这说明SwapPostReadBuffers中的#if DBG _asm int 3 #endif没有被调用,也就是SwapPostReadBuffers没有被调用,怎么回事?大牛帮忙啊!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
编译器根本就没生成代码??
确定dbg宏定义了??
2011-10-15 19:58
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不清楚呢!呵呵!!!
2011-10-15 21:06
0
雪    币: 79
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
dbg宏还要自己定义吗?不是系统自带的吗?
2011-10-16 09:56
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
要用Debug模式编译,另外源代码和pdb要对应
2011-10-17 14:12
0
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
#ifdef DEB   int 3   #endif
这个语句只有在checked版本里面才回生效,你说的那个函数应该是release版本的。

举个例子:正常的驱动执行int 3这句代码,机子就会蓝屏。
加了#ifdef.....以后,如果驱动编译成checked版,仍然会蓝屏。
但如果编译成release版,就不会蓝屏了,因为int 3根本没有执行。这也是为什么断不下来的原因。
2011-10-24 23:23
0
游客
登录 | 注册 方可回帖
返回
//