Перешел на Visual Studio 2010. Отлаживаю проект. Срабатывает точка останова, навожу мышь на список (List<T>). Возникает кружок ожидания, студия тормозит секунд 30, потом показывает список с такими свойствами:
Capacity = Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.
Если нажать F10 или F11 и снова посмотреть список — он откроется нормально, как и должен. К сожалению — это не всегда возможно — на следующем шаге он может модифицироваться или уйти из зоны видимости.
Тот же самый проект в том же самом месте с теми же самыми данными в 2008 студии открывается моментально.
Что это такое и как с этим бороться ?
Откатиться на 2008 нельзя — начальство приказало работать в 2010.
Вот простейший код, вызывающий это явление. Срабатывает на половине наших машин.
Ставим точку останова на return и пытаемся посмотреть список, наведя на него мышь.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<AAA> alist = new List<AAA>();
for (Int32 i = 0; i < 50000; i++)
{
alist.Add(new AAA());
}
return;
}
}
public class AAA
{
public Int32 A1 = 54334;
public String A2 = "dasdfsd";
}
}
Дополнительная информация — это дожден быть старый фреймвок (не 4).
Похоже, студия пытается загрузить визуалайзер дебаггера для старого фреймвока и не успевает.
(Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.DebuggerVisualizers\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.DebuggerVisualizers.dll'