来源:http://blog.csdn.net/powerlly/archive/2010/02/04/5288346.aspx
在近两天前的很长一段时间,都被调试程序时死机状苦恼着。那个郁闷心情现在彻底不复存在了^_^
每次在子线程代码段中设置断点,再执行几步“必死无疑”:
病号:IBM T60, WinXP SP2, VS2005 C++
症状:鼠标可用,键盘无效,Alt+Tab无法切换,CPU闲,似死非死状
初始未寻良方诊治,自开一处:
药方一:长按开机键(5秒),重启。(那个心疼啊)
后久病成医,又发明一处:
药方二:长按开机键(4秒),然后一个个立即结束进程(直到devenv.exe就“回光返照”了)。(继续等待重启)
体验过每日重启10+的感觉吗?那真是... 有苦说不出啊~~~
多次寻觅解决良方,寻得一处:
药方三:开发一系统服务,开机后运行,可以响应键盘快捷键杀死devenv.exe进程。(此方未寻得,也懒于实现)
继续痛苦吧,不在痛苦中灭亡,就在痛苦中爆发:
偶然机会,死机时Alt+Tab发现居然能切换出cmd窗口,而且可鼠标复制/粘贴。
良方:调试程序的时候,记得开着cmd,输入命令:
tasklist /fi "imagename eq devenv.exe"
列出该进程信息,然后输入(注意输完后不要回车哦,我提醒了,不然,试下也无妨):
taskkill /f /pid <PID>
其中<PID>是devenv.exe进程号。然后你该干嘛就干嘛吧!
当出现以上死机症状时,切换出cmd,用鼠标操作复制一个回车(标记->点击空白处拖动两行->复制->粘贴)。
好了,药到病除!
不用再经历重启机器的磨难了,修成正果,可以起死回生了,阿弥陀佛!
taskkill /fi "imagename eq ***.exe" 就不用先查PID了。
例:taskkill /fi "imagename eq notepad.exe"