我试图使用一个布尔条件的断点来调试VS2010中的一个程序.这个特定的断点很慢,使我的程序比没有条件或使用常规的无条件断点慢几百倍.
我的问题是,这是视觉工作室的常见问题,我不敢相信调试器可以这么慢吗?布尔表达式非常简单,它简单地说,当我在for循环中的i == x时打破程序.
任何帮助赞赏,因为它使调试非常痛苦.
谢谢
理查德
public static RawNetCalculationResults newCATXLNets(IList<Loss> RawLosses,IList<ReinsuranceProgramme> Programme) //Loss contains the properties Year,EventID,Loss Value { List<Recoveries> NetRawLosses = new List<Recoveries>(RawLosses.Count * Programme.Count); //Initiate list with required capacity //Loop over each element in RawLosses List and do some calculations foreach (var e in RawLosses) { //<----BREAK POINT HERE (e.Year == x) foreach (var layer in Programme.Where(x => x.Type == ReinsuranceType.CATXL)) {
解决方法
是的,条件断点很慢.
或者,您可以使用Debug.Assert:
Debug.Assert( i != x );
这将导致断言,当我== x,你可以从那里调试.