在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