Visual Studio调试时失去响应的解决办法

之前的之前的很久以前写一个小东东时不知道是代码问题还是VS的问题,调试的时候老是整个系统都失去响应

  • 所有窗口失去响应
  • 但实际上程序还在运行(比如播放器在放,解压文件的操作也在继续),仅仅界面无法刷新
  • 开始菜单失去响应
  • 任务栏失去响应,任务管理器无法启动(无论是【CTRL + SHIFT + ESC】还是【CTRL + ALT + DELETE】)
  • 除了重启或者注销不能做其他任何事情

网上一查也有很多人有这情况,最后把问题锁定在多线程调试上,因为我的VS在单线程程序调试上之前是没问题的。

根据挂掉记录统计觉得我应该也是多线程调试的问题。(还有一种感觉是不是我代码哪里有问题?但仔细看了又看看不出什么问题)

在找到的各种办法中发现下面的方法效果好一点:

  1. 启动调试之前不要将断点下在任务线程上,或者尽量少下。
  2. 然后在需要进入线程调试时在主线程下个断点。使得VS中断所有线程中断
  3. 这时再到工作线程上加个断点,然后F5就等待到工作线程中断吧!

这样确实好一点,不过还是有时挂掉。

后来在一个意外中发现只要结束掉VS即可解决这种问题!,百分百有效。

     然后就想了个投机的点子,写个小东东,在Closing时拒绝Close……

     遇到这种失去响应的情况就直接选择关机或者注销,然后系统会关闭所有应用程序(用礼貌的方式,即询问你是否可以退出了),关到我那个东东时傻眼了,因为拒绝关闭! 而不知为什么我那东东每次都是最后关的,所以VS就先被解决掉了。然后系统又恢复了。不过好多系统进程也被杀了……

另外一个解决办法就是用输出日志的方式来调试!

其实,最好的办法就是再看看代码!

     我很怀疑是不是线程间死锁的问题,或者我的线程导致VS调试器失去响应。因为这个问题肯定是VS调试器造成的。但我那个东东后来就没怎么调试了,用日志调试的。是不是线程死锁,在哪儿锁死了也没查出来,╮(╯▽╰)╭

 

最后看看在那种情况下有什么奇妙的景象!

 

    

转载于:https://www.cnblogs.com/eagereagle/archive/2009/03/08/1406185.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值