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

时间:2010-04-20 08:26:21

标签: c# iis stack-trace

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

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

4 个答案:

答案 0 :(得分:9)

事实证明,使用web.config:

进行模拟
<identity impersonate="true" />

会导致堆栈跟踪中丢失行号。我拿出了这个条目,我的行号又回来了,把它放回去几个小时后(Kerberos票刷新了吗?)行号再次消失了。

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

检查MAchine.Config文件

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

<system.web>

      <deployment retail=”true”/>

</system.web>

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

的来源

答案 3 :(得分:0)