2016-11-03 20 views
0

デバッガが既にその行を実行しているにもかかわらず、デバッガが前の行に再びヒットするという問題が発生しました。デバッガがもう一度前の行にヒットするのはなぜですか、私はこの時点で固執しています。 これはコードのスクリーンショットです enter image description here Line 1011が最初にヒットしましたが、client.Dispose()が呼び出された後、再びclient.Disconnect(true)が呼び出されました。 continue文でもヒットします。これを引き起こしている問題は何か。Visual Studio 2015のデバッグに関する問題C#

+0

潜在的なスタックオーバーフローがあります。ここでは、1つまたは2つのメソッドが互いに呼び出しています。クライアントクラスのDisposeメソッドをオーバーライドしましたか?おそらくそのコードのどこかで、まったく同じメソッドをもう一度呼び出すでしょう。 – einord

答えて

0

例として挙げているコードは、多くの情報を提供していませんが、私が知る限り、DisposeはDisconnectメソッドも呼び出しています。クライアント・オブジェクトをusingステートメントでラップして、最後にDisconnectを呼び出して、.NETのガーベジ・コレクターが残りを処理します。

Disconnectへの2回目の呼び出しでは、オブジェクトが破棄されたときに例外が発生します。

関連する問題