首页新闻找找看学习计划

c# winform程序假死如何调试?

0
悬赏园豆:15 [已解决问题] 解决于 2013-11-28 21:33

写了一个winform程序,里边用到了多线程。现在现象是程序运行一段时间后出现假死现象,Form正常刷新,也就是说可以自动重画,但无法响应鼠标事件。

程序中有很多日志输出,程序停在了输出了上个日志后,下个日志语句前。两条日志语句之前就一个函数,不过十行代码,我每行都打了断点,但仍然没有反应。

请问如何知道程序现在执行到了哪句代码呢?或者如何找出出现假死的原因呢?高手们快来啊?

沧海一杰的主页 沧海一杰 | 初学一级 | 园豆:48
提问于:2013-11-27 15:52
< >
分享
最佳答案
0

每行后面写个日志行不行?

收获园豆:15
于为源 | 小虾三级 |园豆:984 | 2013-11-27 16:38

没用,不过谢谢你,方法很精辟

沧海一杰 | 园豆:48 (初学一级) | 2013-11-28 21:33

@沧海一杰: 这豆得的有愧啊。

于为源 | 园豆:984 (小虾三级) | 2013-12-04 10:43

@于为源: 毕竟费心了,应该的

沧海一杰 | 园豆:48 (初学一级) | 2013-12-04 13:52
其他回答(1)
0

查看程序当前执行的语句方法:

  1. 挂上调试器:调试->附加到进程, 选择进程。如果是F5执行的则省略这一步。
  2. 按 alt+ctrl+brak,所有线程都会暂停,双击线程对话框的各线程则可查看各个线程当前的执行情况。
天方 | 园豆:5264 (大侠五级) | 2013-11-28 21:39

谢谢,回头我试试

支持(0) 反对(0) 沧海一杰 | 园豆:48 (初学一级) | 2013-11-28 22:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册