首页
社区
课程
招聘
[求助]Debuggee在创建线程时,内核的哪个地方向调试器发CREATE_THREAD_DEBUG_EVENT消息的?
发表于: 2010-5-11 09:08 4913

[求助]Debuggee在创建线程时,内核的哪个地方向调试器发CREATE_THREAD_DEBUG_EVENT消息的?

2010-5-11 09:08
4913
Debuggee在创建线程时,内核的哪个地方向调试器发CREATE_THREAD_DEBUG_EVENT消息的?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 75
活跃值: (703)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
create_thread_debug信息应该是由调试系统里的采集例程完成的吧,好像是以dbgk开头的例程,这些例程都是嵌入在对应的系统函数里的。
比如 createthread这个调试信息就是由pspcreatethread-〉PspUserThreadStartup-〉DbgkCreateThread()这个采集例程,把创建线程的debugevent放入到debugport所指示的调试内核对象里。然后调试器会被唤醒,它将从这个内核对象获取debug信息加以处理。

更详细的软件调试这本书上有
2010-5-11 11:46
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢你的回复,不过我在wrk搜了好久都没有发现,我从CreateThread入手开始搜,可能是太粗心了,
2010-5-11 18:43
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
if ((Thread->CrossThreadFlags&
         (PS_CROSS_THREAD_FLAGS_DEADTHREAD|PS_CROSS_THREAD_FLAGS_HIDEFROMDBG)) == 0) {
        DbgkCreateThread (Thread, StartContext);
    }
看到了,谢谢
2010-5-11 18:54
0
游客
登录 | 注册 方可回帖
返回
//