尽管包含PDB文件,但在堆栈跟踪事件中没有行号

问题描述:

这让我感到非常紧张。我使用VS 2008实现了带有C#的Web服务。我在IIS上发布它。我修改了发布版本,以便将pdb文件与dll一起复制到inetpub上的目标目录中。尽管包含PDB文件,但在堆栈跟踪事件中没有行号

另外web.config文件的debug = true。

然后我调用一个引发异常的Web服务。堆栈跟踪不包含行号。我不知道我在这里错过了什么想法?

附加信息: 如果我运行使用VS内置的Web服务器的Web应用程序,它的工作原理和我在堆栈跟踪获得的行号。但是,如果我复制VS内置web服务器使用的相同文件(pdb和dll)到IIS,仍然在堆栈跟踪中缺少行号。

似乎有什么与忽略pdb文件的IIS有关!

更新 当我发布到IIS时,所有的pdb文件都发布在bin目录下,一切都很正常。但是当我到与我的项目相关的特定目录下的“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files”时,我可以看到程序集(.dll)文件都在那里,但没有pdb文件。 但是,如果我使用VS内置的Web服务器运行项目,则不会发生这种情况。 因此,如果我手动将pdb文件复制到临时文件夹,我可以看到行号。

任何想法为什么pdb文件没有复制到临时文件夹?

顺便说一句,当我附加到工作进程,我可以看到它说符号加载!

+0

你使用WCF来调用该webservice? – 2010-02-04 23:54:21

+0

不,它是asmx web服务 – kaptan 2010-02-05 01:05:52

+0

[IIS即使pdb存在,但没有给出堆栈跟踪中的行号]的可能重复(http://*.com/questions/2673623/iis-not-giving-line-numbers-in- stack-trace-even-though-pdb-present) – 2014-04-07 16:03:40

也许你发布到服务器具有<deployment retail="true" />设置在系统machine.config文件配置为:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG

欲了解更多信息,请参阅:

ASP.NET configuration - deployment Element (ASP.NET Settings Schema)

只是一个想法。

+0

我检查了该文件,并且该文件中没有。 – kaptan 2010-02-15 17:50:37

+0

在上述链接的帖子评论http://*.com/questions/2673623/iis-not-giving-line-numbers-in-stack-trace-even-though-pdb-present/2673642#2673642,用户@Graeme说如果你这样做,它会完全关闭堆栈跟踪,而不仅仅是行号。 – 2011-10-21 13:05:07

使用VS或windbg附加到工作进程并查看它是否能够找到您的pdb以及它是否与您的程序集匹配?

另一个常见的原因是你实际上使用发布dll [已优化]。我怀疑这是什么与IIS有关。

+0

.pdb文件可以与“Release”或优化的DLL一起使用,没有问题。我做了很多次。 – 2015-07-13 20:47:07

请确保在web.config中设置“debug = true”,没有它,在例外情况下不会显示行号。

+0

它已经在那里 – kaptan 2010-02-25 19:23:07

不知道这是否会帮助,但在我的VS2008 C#项目属性,构建选项卡下,有一个高级按钮,我必须设置调试信息为“全”或“PDB-只有”

我这是同样的问题,并试图在阳光下尝试修复它。直到我在这个类似的问题中找到了可接受的答案:IIS not giving line numbers in stack trace even though pdb present

原来使用模拟与web.config中:

<identity impersonate="true" /> 

引起堆栈跟踪的行号的损失。我拿出条目并将行号返回,放回原处并在几个小时后(Kerberos票证刷新?)行号再次消失。

不知道为什么冒充影响堆栈跟踪,但它不 - 会很高兴有人确认/解释这个...

我需要冒充被打开我的大多数网站(和那些网站有行号,去图),所以我禁用了这个特定的网站,并得到了我的行号!

+1

这是唯一适用于我的解决方案。我希望“impersonate = true”不是我的网站所需要的。 – Arvin 2012-03-27 04:47:46