nuget包是否包含pdb符号

Joh*_*son 5 visual-studio nuget

我已经包含了一个 NuGet 包 (Edge.js),我想通过单步调试源代码来调试它。当我“介入”时,它“跨过去”。我猜这是因为没有要介入的符号文件。可能 EdgeJS 包是在没有来源的情况下发布的,这可能就是原因。但是我不知道如何验证 NuGet 包是否包含 pdb 符号。

也可能是我的Visual Studio 配置失败,但因为我不知道 NuGet 包是否包含符号,所以我不知道该往哪个方向看。

谢谢你的帮助

the*_*Dmi 3

Nuget 支持使用该命令创建包含 PDB 和源文件的包nuget pack -Symbols。通常,这些包会上传到开源项目的 symbolsource.org。Visual Studio 可以配置为在调试期间使用 symbolsource.org,请参阅本指南

然而,并不是每个开源项目都会将符号包上传到symbolsource.org,因此您必须检查Edge.js是否这样做(我不知道那个库)。

如果 Edge.js 不提供符号包,您的选择如下:

  • 下载edge.js 源并使用调试符号在本地构建。将 DLL 和 PDB 复制到应用程序的输出文件夹并开始调试。
  • 使用反编译器。您无法获得与调试符号和源文件一样多的信息,但它可能足以满足您的情况。Resharper(商业工具)附带的反编译器对于以这种方式调试 DLL 非常有用。