当前位置:  开发笔记 > 编程语言 > 正文

行号不正确的异常错误消息

如何解决《行号不正确的异常错误消息》经验,为你挑选了1个好方法。

当在Asp.Net网页中抛出异常时,会显示一条错误消息,其中包含完整的堆栈跟踪.

示例如下:

堆栈跟踪:
IndexOutOfRangeException:索引超出了数组的范围.

MyNameSpace.SPAPP.ViewDetailsCodeBehind.LoadView()+5112 MyNameSpace.SPAPP.ViewDetailsCodeBehind.Page_Load(Object sender,EventArgs e)+67
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+ 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+43
System.Web.UI.Control.OnLoad(EventArgs e)+98
......

问题是显示的行号与我的代码中产生异常的行不对应.
在上面的例子中,堆栈显示行号5111,但我的.cs文件后面的代码只有250行!

aspx页面存储在SharePoint站点中,带有代码的程序集已部署到GAC.另外,我已经在Debug模式下编译了.

鉴于上面的设置,我如何找到代码中的哪一行导致异常?



strelokstrelok指出的澄清:

发布模式下,异常前面的数字不是代码行.相反,它是本机编译代码的偏移量,对人类没有任何意义.更多相关信息:http://odetocode.com/Blogs/scott/archive/2005/01/24/963.aspx

调试模式下,PDB文件将自动将本机代码偏移量映射到代码中的.cs行,显示的数字将是代码中的相应行.

Strelok.. 10

这些数字不是行号.在发布模式下,堆栈跟踪包含本机编译代码的偏移量而不是行号.您可以在此处阅读更多相关信息:http: //odetocode.com/Blogs/scott/archive/2005/01/24/963.aspx

在堆栈跟踪中获取行号的唯一方法是在调试模式下使用PDB文件构建代码.



1> Strelok..:

这些数字不是行号.在发布模式下,堆栈跟踪包含本机编译代码的偏移量而不是行号.您可以在此处阅读更多相关信息:http: //odetocode.com/Blogs/scott/archive/2005/01/24/963.aspx

在堆栈跟踪中获取行号的唯一方法是在调试模式下使用PDB文件构建代码.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有