在Visual Studio 2008中,在调试大约1-2分钟后,当我按下F10(跳过)时,调试器挂起,Visual Studio冻结5-10秒,然后转到下一行。然后,无论我做什么(F10,F5,F11等),调试器都会继续执行,就好像我按F5和我正在调试的所有窗体关闭一样。我总是不得不重新启动应用程序。Visual Studio调试器问题
这是很难重现,它不会发生每次我想调试的东西。有没有人有解决方案?
编辑:我已经成功地重现我的问题与下面的代码:
static void Main(string[] args)
{
XElement e = new XElement("root");
Test(e, 0);
}
static void Test(XElement parentElement, int i)
{
if (i < 1000)
{
XElement element = new XElement("element");
parentElement.Add(element);
Test(element, ++i);
}
}
你需要把一个条件断点就行了“的XElement元=新的XElement(”元“); “条件为“i == 999”。然后启动程序,等待2-3秒,并在“parentElement.Add(element);”行放置正常断点。现在VisualStudio冻结并且不可能调试。在WinForm应用程序中,它将关闭按F10后打开的所有表单。
但我发现,如果我在“工具 - >选项 - >调试”禁用调试选项“在变量窗口对象上调用字符串转换功能”,我可以调试。它很慢,但至少VisualStudio不会冻结。有谁知道它为什么这样做?因为我不想禁用这个选项,所以在没有它的情况下调试真的很烦人。
我也注意到,如果我只放一个断点的主要方法结束,代码运行非常快比较具有递归方法的条件断点。
你可以在另一个系统上重新安装你的操作系统和VS,并尝试在那里进行调试吗?我怀疑其他软件/配置/硬件,而不是这是一个直接的VS问题。 – Lazarus 2010-03-03 16:05:55
我不这么认为,因为它在我的同事的计算机上执行相同的问题,并且其中一些人有不同的操作系统 – 2010-03-03 16:33:26
您是否有一个断点_lot_? – Max 2010-03-11 19:40:51