2010-01-21 3 views
1

У меня есть мониторинг состояния здоровья включен, и я следующая ошибка я пытаюсь понять:Помощь понимание этого трассировки стека

Исключение:

Exception information: 
    Exception type: System.InvalidCastException 
    Exception message: Specified cast is not valid. 


Thread information: 
    Thread ID: 5 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
    Is impersonating: False 
    Stack trace: at _Default.Repeater1_ItemDataBound(Object sender, RepeaterItemEventArgs e) 
    at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) 
    at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) 
    at _Default.up1_Load() 
    at _Default.Timer1_Tick(Object sender, EventArgs e) 
    at System.Web.UI.Timer.OnTick(EventArgs e) 
    at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

Я просто пытаюсь выяснить точно где проблема происходит и что это такое - происходит ли она в подпроцессе Repeater1_ItemDataBound или в подпрограмме Timer1_Tick? Последнее, что произошло до того, как ошибка произошла в верхней или нижней части трассы?

любой помощь очень ценится

благодаря

ответ

0

В вашем ItemDataBound, но нет никаких доказательств того, что ошибка, ее след, так первая вещь, это самая верхняя (последнее) проблемы и элементов под ним это маршрут, который нужно достать, чтобы добраться туда

Похоже, вы что-то ошибаетесь, может быть, контроль? например текстовое поле на ярлык по ошибке?

4

Прочтите его снизу вверх - функция, в которой произошло исключение, находится вверху.

7

wikipedia entry Следы стека должны помочь немного, но по существу трассировка стека представляет собой список методов/функций, в которых поток/программа находится в данный момент времени (обычно во время исключения).

Самая верхняя строка в трассировке стека - это метод/функция, в которой поток/программа «находится в настоящее время» (т.е. в настоящее время выполняется), следующая строка - это метод/функция, вызывающая метод, указанный в строке выше, и т.д ...

Так, например, если у меня есть следующий код (в C#):

void Timer1_Tick() 
{ 
    SomeMethod(); 
} 

void SomeMethod() 
{ 
    AnotherMethod(); 
} 

void AnotherMethod() 
{ 
    // Suppose I have a exception/stack trace taken at this point 
} 

я мог бы получить следующую трассировку стека:

AnotherMethod() 
SomeMethod() 
Timer1_Tick() 

В шо rt - вероятно, ваша ошибка находится где-то в методе Repeater1_ItemDataBound, так как это самый «внешний»/самый верхний метод в вашей трассировке стека.