2

私のケースでは、GetCallingMethodというグローバル関数を使用して解析しました。アプリケーションを閉じるときに新しいStackTraceブロックを呼び出す

大部分は素晴らしいです。しかし、場合によってはアプリケーションがブロックされているがあります。 閉じるを申請するとブロックされます。 Visual Studioで「一時停止」すると、それはnew StackTrace行に永遠に残ります。

私のアプリケーションでは、第三者参照、マルチスレッドおよびいくつかのクラスを使用しています。しかし、それは問題ではないはずです。私が想像する限りトレーサクラスをロックしてはいけません。 この場合、私はVisual Studio 2010 Ultimateを使用しています。

どこから解決策を探すべきか考えていますか?

Stack block この行は開発領域に残されません。申請は凍結されます。 Try/Catchは強制的に処理を実行しません。

答えて

1

ここで私が使用していることはありませんし、私に問題(デバッグまたは生産)を与えたことはありません。

Dim strMethodName As String = "" 
Dim stkTrace As New StackTrace(True) 
strMethodName = stkTrace.GetFrame(1).GetMethod().Name 

注:あなたがいる限り、それはあるstkTrace.FrameCount未満だと)getframeの(内の任意の整数を置くことができます。 0は現在のフレーム、1は前、2はその前などです。

+0

こんにちは。ご回答有難うございます。私は小さなプロジェクトでも問題はありませんでした。このプロジェクトでは、実行している巨大なマルチスレッドのものがあり、私はそれが問題だと思っています。 'True'または' False'引数を使うには、それは役に立ちませんでした。おそらく別の人が私のような同じ問題を抱えているでしょう。私がブレークポイントに留まると、「新しいStackTrace」は常にデバッグに取り組んでいます。アプリを実行している間は、エラーが発生しています。 – Nasenbaer

関連する問題