即使pdb存在,IIS也不会在堆栈跟踪中给出行号

Web配置有debug = true,项目是调试版本,pdb文件存在于bin目录中,但是当抛出exception时,我的堆栈跟踪中没有得到行号。

适用于本地IIS / Cassini,但不适用于我们的测试IIS服务器。 是否有一些明显的设置,我可能会失踪?

事实certificate,使用web.config进行模拟:

 

导致堆栈跟踪中丢失的行号。 我拿出了输入,我的行号返回,把它放回去,几个小时后(Kerberos票刷新?)行号再次消失。

不确定为什么冒充会影响堆栈跟踪,但确实如此 – 很乐意让某人确认/解释这个……

根据问题4130956 :如果impersonate =“true”,要在堆栈跟踪中获取行号,您需要将“调试程序”用户权限分配给您用于登录的帐户。

检查MAchine.Config文件

在ASP.NET 2.0中,可以在machine.config中打开一个关闭所有debug = true的开关,因此在2.0应用程序中,您可以直接执行此操作,而无需担心找出哪些应用程序执行和不执行它。

    

来自http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx

也许这会有所帮助,直到你找到更好的解决方案:

  • 在ASP.NET和SharePoint以及GAC编辑的程序集中启用堆栈跟踪行号
  • 在生产服务器中显示源文件和行号