2011-04-22 44 views
10

我一直在搞VS 2010調試設置,試圖進入.NET框架工作。那麼,我無法讓它工作。我也嘗試了反射器VS插件,並在一個點上工作。「調試器無法繼續運行該過程。」

然後,我開始隨機收到此錯誤:當我有一個調用IEnumerable<T>.ToList()線斷點

enter image description here

發生。如果我嘗試在設置了斷點的那一行上逐步或步入,則會出現此錯誤對話框,並且我的調試會話結束。

如果我將斷點移動到下面的行,調試器會使它通過ToList()調用!

我已經嘗試了以下無濟於事:

  • 拆卸反光插件。
  • 撤銷我在工具>選項>調試窗口中的更改(取消選中進入.NET Framework的選項;取消選中源服務器選項;僅檢查我的代碼選項)。
  • 工具>選項>調試>符號窗口中未經檢查的Microsoft源服務器。
  • 清除了符號緩存。

這是怎麼回事?

+0

你能張貼您的調用堆棧中的斷點命中時? – 2011-04-27 19:10:18

+0

我可以,但它不會幫助,因爲我根本無法進入。我知道如果我刪除了斷點,那麼該行會引發StackOverflowException。 – 2011-04-27 20:13:41

回答

1

我來自同一個問題的困擾....

我找到了一個解決方案,它聽到了罕見....

調試器無法繼續運行process.Process終止 雖然調試代碼一步一步,你會發現該行,從錯誤重定向的地方。 如果您在該文件的任何位置使用「ToString()」,請刪除該文件。 而不是,您可以使用值/文本。 它工作正常。 ............

如果你沒有使用ToString()任何地方在程序中,然後通過完全刪除重新加載項目副本。

2

這是一個ToString()覆蓋,使調試器崩潰! (在評估之後,調試器將使用ToString()方法向您顯示結果)。如果您在ToString()中遇到異常,您將永遠不會發現異常,因爲您無法對調試器行爲進行編碼。

我得從MSDN

0

這個答案,該信息也會顯示出來,當你試圖調試Xamarin的解決方案,但你必須選擇爲啓動項目,而不是您的應用程序,項目類庫。

0

我有同樣的問題。我將其追溯到一個類(逐步調試),最後到一個屬性(評論所有代碼,然後逐步取消註釋)。

該屬性從表中返回了一個類型化的數據集。數據集

private typedDataSet myDataSet 
{ 
    return this.DataSet as typedDataSet; 
} 

這是在一個DataTable部分類。 我刪除了這個屬性後,一切都變好了。

4

因爲這是我搜索答案時找到的第一個地方,所以我會添加我發現的內容。

在我的情況下,我在解決方案中設置了調試器來啓動多個項目。由於某些原因,Visual Studio更改了此設置,因此沒有項目開始。糾正解決方案中的設置立即解決了問題。

這個問題並不難解決,但是錯誤信息不僅僅是有點刺激。

3

我剛剛發現this answer有用。我所做的只是將我的創業項目改爲另一項,並恢復正常。

我的項目很可能在某處丟失了此設置,並重置它使其再次可用。

0

我遇到了一個來自複製/粘貼代碼錯誤的問題。而不是獲取/設置私有成員變量,我做了自己的get/set。當我引用的其他代碼調試器終止物業(2010):

public bool ProdToDeve 
{ 
    get { return ProdToDeve; } // <= missing underbar 
    set { ProdToDeve = value; } 
} 
private bool _ProdToDeve = false; 
0

它發生在我,當我在做以下幾點:

throw new Exception(timeout.TotalSeconds + " second(s)");

這是因爲timeout.TotalSeconds.ToString()這的確是一個覆蓋方法爲double類型的對象,正在拋出Parameter not valid異常。

最後,爲了安全我最後做了以下內容:

throw new Exception(System.Convert.ToString(timeout.TotalSeconds));