Window 2000 进程异常终止

nustchen 2002-04-11 06:50:29
各位大虾:
我想在进程异常终止之前,进行一些清除工作。用Signal可以捕获一些异常终止消息,但是如果用任务管理器终止进程,却无法捕获消息。请问如何处理。非常感谢!
...全文
59 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nustchen 2002-04-14
  • 打赏
  • 举报
回复
Push
nustchen 2002-04-13
  • 打赏
  • 举报
回复
gz
nustchen 2002-04-13
  • 打赏
  • 举报
回复
Push
neccui 2002-04-12
  • 打赏
  • 举报
回复
__try __except可以保证截获所有的非法操作,并加入你自己的处理。


但如果是直接调用terminate process结束进程,这不是非法操作,所以 __try __except没办法。

在这个时候,我不知道windows系统是否会发信号给这个进程。也许进程没有办法获得这个事情的发生。
nustchen 2002-04-12
  • 打赏
  • 举报
回复
楼上的都不行啊 我不是排除错误 由于于硬件打交道 在异常错误的时候需要清理硬件 有没有什么好办法啊
liu_feng_fly 2002-04-11
  • 打赏
  • 举报
回复
尽量使用智能指针啊,当异常发生的时候,总会保证正确释放他的,不过,terminatethread的时候不知道好不好用
Meathead 2002-04-11
  • 打赏
  • 举报
回复
你可以做一个日记式的文件操作类,在没个函数的开始和结尾处在日记文件中添加一条记录.那那样就知道进程在什么地方出现异常,消息和相关信息.
我在查安装程序中OCX注册失败时用过.很成功的.
neccui 2002-04-11
  • 打赏
  • 举报
回复
刚才没完全看清楚你的问题。

任务管理器终止进程,可能使用了TerminateProcess
这样的话,可能无法截获。
neccui 2002-04-11
  • 打赏
  • 举报
回复
用__try 和__except,这是windows扩展的处理异常的。

可以截获所有的非法操作。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧