为什么Visual Studio在调试时会跳过我的方法?

时间:2014-02-04 21:13:20

标签: c# debugging symbols proget

我正在尝试调试库中的方法(通过NuGet安装,如果这很重要),并且Visual Studio正在使用以下消息跳过它:

  

步入:踩过没有符号的方法   'Cpi.Net.SecureMail.CryptoHelper.FindCertificate'

我在调试设置中添加了符号服务器源,当我第一次调试程序时,它告诉我它正在下载此库的符号。我已经确认这些符号确实已下载,因为它们显示在我的符号缓存目录中。

感谢SLaks,我现在知道从符号服务器下载的PDB显然已经过时了。如果我直接从TeamCity的构建工件中检索PDB,则调试工作。

因此,似乎或某种原因,或者由于某种原因,PDB文件正在通过NuGet打包过程或通过符号服务器下载过程(ProGet)进行更改。

现在,问题的范围显然已大大扩大。

1 个答案:

答案 0 :(得分:1)

事实证明,ProGet确实破坏了PDB文件,以使其指向源服务器而不是源文件的本地构建文件夹。出于某种原因,ProGet正在创建一个Visual Studio不喜欢的PDB。 Inedo和我还没有确定原因。