阅读:2277回复:5
有关SOFTICE的怪现象
我用SOFTICE调试动态VXD程序,第一次加载能正常在断点出断下来,但再次加载VXD时,就不断了(偶尔还发现对VXD做过更改后重新编译,再用SOFTICE 的SYMBOL LOADER重新生成NMS文件,加载VXD时就能断下来,但并不总是这样),要重新启动计算机才能正常断下来,
不知是何原因,请赐教!!! |
|
沙发#
发布于:2001-07-24 21:11
可能是你的vxd死在系统里了,那样就必须从起才可以:( |
|
|
板凳#
发布于:2001-07-31 10:04
知道原因了,是因为驱动已经加载过一次,第二次就不再从新加载。
现在有一个新问题,用CreateFile加载一个驱动后,如何把它卸载呢? |
|
地板#
发布于:2001-07-31 13:02
是这样的: 如果你的驱动程序试可以静态加载的,那么静态加载的部分只会加载一次(出非系统从新启动),而动态的部分可以关闭/加载很多次, 但是如果vxd在收到ON_SYS_DYNAMIC_DEVICE_INIT消息后,如果未受到ON_SYS_DYNAMIC_DEVICE_EXIT消息,则不回载响应ON_SYS_DYNAMIC_DEVICE_INIT消息, 就是说:如果你打开设备而不关闭他就在此进行打开的操作,则vxd不会响应。 动态加载用CreateFile,收到ON_SYS_DYNAMIC_DEVICE_INIT消息 动态卸在用CloseHandle,收到ON_SYS_DYNAMIC_DEVICE_EXIT消息 系统在调用Createfile的应用程序结束时,如果未调用closehandle,则自动调用 累死我了,你还是看vtools的文档吧,关于deviceiocontrol那部分的,讲得很详细的 |
|
|
地下室#
发布于:2001-08-01 13:53
我有调用CloseHandle呀,可我用SOFTICE调试发现,CloseHandle调用并没有触发ON_SYS_DYNAMIC_DEVICE_EXIT消息,不知是怎么回事?
|
|
5楼#
发布于:2001-08-08 20:38
我在某本书上看到好象是说只要你调用了VXD 服务,就不可以卸载了。
|
|