bluesky_2013
驱动牛犊
驱动牛犊
  • 注册日期2013-11-02
  • 最后登录2013-11-08
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1278回复:1

[求助] 写了个文件监控驱动, 应用程序正常退出没问题, 异常退出的话, 进程锁死, 杀不死.

楼主#
更多 发布于:2013-11-07 19:15
    写了个文件监控驱动, 监控用户打开的所有文件, 并形成记录, 测了几天, 如果是正常的启动、退出, 都没有问题, 驱动也很稳定了, 可是, 如果我在Debug模式下启动应用程序(此时已经安装并启动了驱动), 驱动中有应用层传下来的事件句柄, 用来等待文件打开事件的触发, 应用层也开启了一个线程, 一直在发IO消息给驱动, 看列表中有没有记录, 有就取出来.  
    问题来了, 如果我此时停止调试结束程序, 这时候调试是停止了, 可在进程列表中还可以看到此应用程序在, 并且杀不死. 什么"Taskkill"、"TsKill", 任务管理器、NtTerminateProcess、ZwTerminateProcess 都杀不死, 权限也提了... 哎. 我也尝试过用内存清零的方法来试, 可没成功(我用的是Windows7), 并且驱动一直都在运行, 没有死. 可以在DebugView里看到输出的信息, 我尝试停止服务"ControlService"成功了, 并且"DeleteService"也成功了, 可是驱动它老人家还是照常运行着, DebugView 一直有消息. 搞了一天没搞出来个杀它的办法. 郁闷死了.
    不过用Xuetr可以杀死进程, 不过杀了后, 我的VS2010也提示要重启了. 不知道这个是用什么方法杀的. 希望有人能指点出路. 谢谢.
啤酒肚
驱动牛犊
驱动牛犊
  • 注册日期2005-11-03
  • 最后登录2024-03-29
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望381点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2013-11-13 18:06
你没有关闭句柄,停止线程。
游客

返回顶部