这让我抓狂。我使用 VS 2008 使用 C# 实现了这个 Web 服务。我在 IIS 上发布它。我已经修改了发布版本,因此 pdb 文件与 dll 一起复制到 inetpub 上的目标目录中。
web.config 文件也有 debug=true。
然后我调用一个引发异常的 Web 服务。堆栈跟踪不包含行号。我不知道我在这里缺少什么,有什么想法吗?
附加信息: 如果我使用 VS 内置 Web 服务器运行 Web 应用程序,它可以工作并且我在堆栈跟踪中获得行号。但是,如果我将 VS 内置 Web 服务器正在使用的相同文件(pdb 和 dll)复制到 IIS,堆栈跟踪中仍然缺少行号。
似乎有一些与 IIS 相关的东西忽略了 pdb 文件!
更新 当我发布到 IIS 时,所有 pdb 文件都发布在 bin 目录下,一切看起来都很好。但是当我转到与我的项目相关的特定目录下的“C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”时,我可以看到程序集(.dll)文件都在那里,但没有 pdb 文件。但是,如果我使用 VS 内置 Web 服务器运行项目,则不会发生这种情况。因此,如果我将 pdb 文件手动复制到 temp 文件夹,我可以看到行号。
知道为什么不将 pdb 文件复制到临时文件夹吗?
顺便说一句,当我附加到工作进程时,我可以看到它说符号已加载!