Вызов новых блоков StackTrace при закрытии приложения - PullRequest
2 голосов
/ 12 сентября 2011

Я только что провел некоторый анализ, используя глобальную функцию, которая в моем случае называется GetCallingMethod.

В основном это прекрасно работает. Но в некоторых случаях приложение блокируется . Он блокируется при закрытии приложения. При переходе на «паузу» в Visual Studio он всегда остается на линии new StackTrace.

В моем приложении я использую сторонние ссылки, многопоточность и несколько классов. Но все это не должно быть проблемой и не должно блокировать класс трассировки, насколько я представляю. В этом случае я использую Visual Studio 2010 Ultimate.

Есть идеи, где искать какое-либо решение?

Stack block Эта линия никогда не останется в области разработки. Приложение будет заморожено. Попытка / Catch не приведет к форсированию процедуры.

1 Ответ

1 голос
/ 14 февраля 2012

Вот то, что я использую и никогда не доставляло мне проблем (отладка или производство).

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

Примечание: вы можете поместить любое целое число в GetFrame (), если оно меньше, чем stkTrace.FrameCountто есть.0 - текущий кадр, 1 - предыдущий, 2 - до и т. Д. ...

...