-
-
[求助]windows下Load_Dll_Debug_Event的通知时机有点过早?
-
发表于:
2007-9-26 00:16
6173
-
[求助]windows下Load_Dll_Debug_Event的通知时机有点过早?
我发现windows XP把LOAD_DLL_DEBUG_EVENT事件传给调试器时,貌似此时被调试进程还没把dll加进自己的虚存空间...
我写了个调试器,在收到load dll事件时立刻调GetModuleNameEx系统API查询dll的名称,但返回错误,GetLstError提示6号错误,invalid handle
同时我用tasklist /M查看被调试进程加载的dll,也没有看到新加载的dll
最后,我在触发load dll事件时用OD看被调试进程,也没有看到新加载的dll
之后,我修改程序,在收到load dll事件后记下HMODULE,在下一调试事件时才查dll名称,此时返回了正确结果。
因此我猜想是不是windows在传递load dll事件的时间有点早...既然这时候dll还没真正加载进虚存,告诉调试器有什么用呢?为什么不等真正加载之后,dllmain之前的时候通知Load_Dll_Debug_Event呢?
不知各位在做软件调试时是否遇到过类似问题或有类似疑问?
谢谢
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!