簡體   English   中英

C#二叉搜索樹 - 堆棧溢出 - 調試

[英]C# binary search tree - stack overflow - debug

我是C ++之后學習C#的新手。 VS2010。

試圖調試我的代碼,我在“本地”框架中遇到了奇怪的空行。 調試器在我幾秒鍾后盯着這些空行退出。

請查看: http//pastebin.com/KZbfy8JF

謝謝。

我花了至少3個小時尋找解決方案並玩弄代碼無濟於事。

Value屬性getter和setter是無限遞歸的 - 將它們更改為:

public T Value { get; set; }

已經回答(價值獲取/設定)但這里有一個提示:

在VS.NET中,按CTRL + ALT + E打開“ 例外”對話框(根據您在VS.NET中選擇的配置文件,它可能也在Debug-> Exceptions下)。 這使得您可以在拋出某些異常類型時中斷,而不是完整的堆棧展開和程序最終崩潰。

對於“Common Language Runtime Exceptions”,選中“Thrown”復選框,單擊OK,然后運行您的程序。 程序的執行將在異常點停止,這應該會更加明顯。

在您的情況下,該程序會破壞您的財產。 要查看更多內容,請打開調用堆棧窗口(調試 - > Windows->調用堆棧或CTRL + ALT + C)以查看完整堆棧,您將看到您的屬性是其中唯一的內容。

一般來說,堆棧溢出意味着你在沒有回頭的情況下進行遞歸。 但是,我不知道你在哪里這樣做。 我要做的是在幾個戰略位置插入一個Console.WriteLine語句,以查看執行的行和頻率。 例如,在Insert的開頭和內部循環中。 這應該給你(和我們;)更多的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM