Jos*_*ank 4 .net asp.net debugging error-handling
在我部署的.NET 3.5/ASP.NET Web应用程序中,错误堆栈跟踪始终显示本机代码的字节偏移,而不是行号:
...
System.Linq.Enumerable.ToList(IEnumerable`1 source) +61
MyApp.prLoadData() +3931 <--should show line number
MyApp.Page_Load(Object sender, EventArgs e) +1378 <--should show line number
System.Web.UI.Control.OnLoad(EventArgs e) +99
...
Run Code Online (Sandbox Code Playgroud)
我已经彻底检查过的事情:
这个特定的服务器由IT部门拥有,我无法访问它,也没有机器级覆盖的任何知识.不过,我原本希望ASP.NET使用pdb文件,但它没有这样做.
有谁知道这里发生了什么?提前致谢.
好吧,经过大量研究后,我在SO上找到了答案:即使pdb存在,IIS也不会在堆栈跟踪中给出行号.
为方便起见,我将在此总结答案.如果你有
<identity impersonate="true" />
Run Code Online (Sandbox Code Playgroud)
在您的web.config文件中,这会禁用堆栈跟踪中的行号(除非您授予模拟用户的调试权限).我把它拿出来,现在我得到行号.
只是告诉你,用来表达问题的词语对于你是否能够完全匹配现有的回答问题确实有所不同!