17

我正在尝试使用带有布尔条件的断点调试 VS2010 中的程序。这个特殊的断点非常慢,使我的程序运行速度比没有条件或使用常规无条件断点慢数百倍。

我的问题是,这是 Visual Studio 的常见问题吗,我不敢相信调试器会这么慢?布尔表达式非常简单,它只是说当 i == x 在 for 循环中时中断程序。

任何帮助表示赞赏,因为它使调试非常痛苦。

谢谢理查德

        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))
            {
4

1 回答 1

30

是的,条件断点很慢。

作为替代方案,您可以使用 Debug.Assert:

Debug.Assert( i != x );

这将导致断言何时触发i == x,您可以从那里进行调试。

于 2013-01-04T10:44:40.167 回答