我的程序日志記錄代碼如下:
protected override void OnException(ExceptionContext filterContext){ log4net.Error("【IP】" + filterContext.HttpContext.Request.UserHostAddress + "\r\n\r\n" + "【Url】" + filterContext.HttpContext.Request.Url.AbsoluteUri + "\r\n\r\n" + "【Message】" + filterContext.Exception.Message + "\r\n\r\n" + "【StackTrace】" + filterContext.Exception.StackTrace + "\r\n\r\n");}
得到的日志信息如下:
【Message】Object reference not set to an instance of an object.【StackTrace】 at ASP._Page_Views_List_test_cshtml.Execute() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
這是一個很常見的“Object reference not set to an instance of an object”錯誤,IP跟URL沒帖出來,通過這個日志我僅能知道是哪個頁面出錯了,但不能精確地知道錯誤的出錯位置,請問有沒有辦法可以精確地定位。
9 回答

森林海
TA貢獻2011條經驗 獲得超2個贊
VS菜單“DEBUG”->"Exceptions",把CLR Exceptions下的System下的System.NRE鉤選成thrown,再debug,這樣就會在任何拋出NRE的時候不catch而直接進入調試。

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
ASP._Page_Views_List_test_cshtml 是該變量為null,還是ASP._Page_Views_List_test_cshtml.Execute()函數(shù)中的某個變量是null? 你可以實際測試下,看下拋的異常是如何定位的.

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
一般碰到這種情況我都是用最笨的辦法,給可能出現(xiàn)異常的代碼前加上一堆記錄日志和關鍵數(shù)據的方法,然后等著下次出錯的 時候看日志,不然還真拿這種偶爾出現(xiàn)又無從調試的錯誤沒轍啊
- 9 回答
- 0 關注
- 716 瀏覽
添加回答
舉報
0/150
提交
取消