Tom*_*nza 1 c# asp.net exception stack-trace
我得到一个"对象引用没有设置为对象的实例"错误,日志中的堆栈顶部有以下内容(C#ASP.NET应用程序):
@Web.UI.UserBrochurePage.Page_Load(Object,EventArgs)+25 Line: 0
@System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr,Object,Object,EventArgs)+0 Line: 0
@System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object,EventArgs)+26 Line: 0
@System.Web.UI.Control.OnLoad(EventArgs)+38 Line: 0
@System.Web.UI.Control.LoadRecursive()+35 Line: 0
@System.Web.UI.Page.ProcessRequestMain(Boolean,Boolean)+1160 Line: 0
Run Code Online (Sandbox Code Playgroud)
我不明白的事情:
这是一个处于发布模式的生产系统,但我仍然可以从堆栈跟踪对象中获取行号.在这种情况下,遗憾的是,错误不会在我们的调试系统上重现,因此我坚持不懈地使用它.
任何意见,将不胜感激.
谢谢,汤姆
我认为您在堆栈跟踪中看到每个调用的"Line 0",因为您的代码是在Release模式而不是Debug模式下编译的.在调试模式下,您的代码将被编译为包含调试符号文件(.pdb).当此文件可用时,您的异常堆栈跟踪将准确表示行号.
在任何情况下,只有Page_Load的行号很重要,因为其余的是框架程序集的内部调用.
每个stacktrace条目后的+ xx数字显然是" 到本机代码的字节偏移 ".我承认它最初在我看来是以滴答或毫秒执行的时间.