[问题] 看不到程式码的debug该如何是好

楼主: jamyang (Jack)   2017-09-21 11:41:47
在执行我的程式时,不定时会发生如图的bug然后停止
https://i.imgur.com/yFUAN7c.jpg
1.这个程式是winform
2.用timer, timer.tick内是做 "资料运算->显示在图表"
google错误讯息,大概都是指向foreach内的List<>被新增或移除里面的元素
但是错误出现时,timer.tick执行的次数相当庞大,也没办法设定中断在那边等
虽然说自己的臭虫要自己除
但是遇到这种状况不知道该怎麻着手
请教各位专家,是否可以给个建议,相当感谢
作者: YahooTaiwan (超可爱南西我老婆)   2017-09-21 11:43:00
打开工具列 -> Debug -> Windows -> Exception settings搜寻 InvalidOperationException,把它打勾你是想问这个吗?? XDD
楼主: jamyang (Jack)   2017-09-21 16:02:00
本来连我该怎麻问都没有头绪,但是现在照您说的做...看来有希望 xd
作者: vi000246 (Vi)   2017-09-21 16:05:00
作者: name2name2 (yang~hi)   2017-09-22 00:38:00
可以检查foreach的时候 其他地方注意不要去增减元素?或是不用foreach改用for 就允许其他地方增删元素或刚查到https://goo.gl/CquDSu 法二把集合ToArray?如果是找错误位置 可以先下中断点在执行正常的地方更正 你可以把Exception Serttings里的勾选框全选试试看 有可能可以显示最初步错误的位置之后可以用右键恢复默认
作者: Litfal (Litfal)   2017-09-22 01:06:00
看看code应该就看得出来了吧,看不出来八成是多执行续楼上ToArray()去Clone一份再用是很好用的偷懒手法XD
楼主: jamyang (Jack)   2017-09-24 12:52:00
根据网友的指示,可以看到中断时的堆叠,确认是在呼叫厂商dll时造成的big,现在厂商正在fix,在这里感谢各位大大补充一下,厂商的dll似乎也是在foreach出了问题

Links booklink

Contact Us: admin [ a t ] ucptt.com