首页
社区
课程
招聘
[讨论]关于调试器的一个疑问
发表于: 2018-6-29 03:07 2986

[讨论]关于调试器的一个疑问

2018-6-29 03:07
2986
一般调试器的实现附加到被调试进程上,然后在调试循环等待(并处理)被调试进程的调试事件。那么问题来了,如果多个调试器附加到一个被调试进程,这些调试器都会收到被调试进程的调试事件?
比如说,我们知道调试器的断点实现,大致上都是想在哪个地址加断点,就把那个地址的字节改成0xCC。然后被调试者运行到这个地址时,就会发生INT3调试异常,然后调试者进行相应的处理。那么,如果调试器A和调试器B都附加在被调试者C上,并且A在附加到C的时候就在C上下了一个断点,那么C运行到这个断点时,是否A和B都会收到C的调试事件?如果他们同时处理这个事件,是否可能产生冲突?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
一个进程只能被一个调试器所调试
2018-6-29 04:52
0
雪    币: 222
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
根据我了解到windows 的调试规则应该只允许最多两个两个调试器,一个内核级,一个用户级。鉴于级别不一样,内核级的调试器先收到调试信息,处理完后可以让用户级的调试器再处理或者不再处理。另外再说下你的问题,假设你的条件都成立,两个用户级调试器先到先得原理,像vt吧,谁先得到vt控制权谁是爷爷。
2018-6-29 08:56
0
雪    币: 272
活跃值: (209)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你不能把多个调试器附加到同一个进程上
2018-6-29 08:56
0
游客
登录 | 注册 方可回帖
返回
//