.net 如何使用.pdb文件调试库?

.net 如何使用.pdb文件调试库?,.net,visual-studio,debugging,xamarin.forms,pdb-files,.net,Visual Studio,Debugging,Xamarin.forms,Pdb Files,我一直在寻找**调试外部项目(如BaseLibrary**)的方法。所以我没有见过这样的代码结构,也没有研究过它。我想我可以使用输出中的.pdb文件来调试这些项目 这就是项目结构的样子。我将调试最后一个突出显示的项目。我已经浏览了这些链接 我为pdb文件添加了参考。我不确定它的格式是否不正确。如下图所示,pdb文件的引用是C:\Workspace\Xamarin.IntegrationLibrary\Output\netstandard2.1 但是他们没有帮助我满足我的需求,因为这是关于

我一直在寻找**调试外部项目(如BaseLibrary**)的方法。所以我没有见过这样的代码结构,也没有研究过它。我想我可以使用输出中的.pdb文件来调试这些项目

这就是项目结构的样子。我将调试最后一个突出显示的项目。我已经浏览了这些链接

我为pdb文件添加了参考。我不确定它的格式是否不正确。如下图所示,pdb文件的引用是C:\Workspace\Xamarin.IntegrationLibrary\Output\netstandard2.1

但是他们没有帮助我满足我的需求,因为这是关于调试我正在当前项目中安装的NuGet软件包。我想调试外部项目。目前,我可以导航到基本库的程序集,但无法导航到源代码或方法。如下图所示

我甚至尝试过在dnSpy中调试,但我无法给出相应的可执行文件。而且,这并不是我所需要的,因为我必须使用pdb在项目中进行调试

一些解决方案说双击模块中的DLL会打开源代码。我试过了,你可以看到下面的截图


我可以加载.pdb符号,但是我想导航和调试基本库的源代码和xamarin.xyzApp项目的集成库。我不知道该怎么做。有什么建议吗?

也许您可以尝试使用dnspy()进行调试。。。它允许调试大多数.net项目,即使没有源代码,因为它可以根据需要进行反编译。您可以附加到正在运行的进程或从dnspy调试器启动。Debug/windows/modules若要查找dll,请双击其中任何一个以查看源代码并设置断点

我通过在目录中添加以下代码来修复此问题。BaseLibrary的Build.props(我们要调试的任何库)和重新启动visual studio

<PropertyGroup>
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>

真的
斯努普克

通过浏览要调试的每个项目的属性->构建->高级来检查项目文件的属性,并检查调试信息是否嵌入重建基本库解决方案并检查。在基本库的输出文件夹中生成snupkg文件。

您可以再次检查外部代码的.pdb文件(以及可选的源文件)的位置。您使用什么平台进行调试?所有平台都不工作吗?@WendyZang MSFT我正在android平台上调试。是,我能够加载外部代码中的pdb符号。但我不知道如何从那里开始。我想调试外部项目(如基本库和commons)中的代码。我只能导航到程序集,而不能导航到源代码。双击模块中的程序集应使其显示在左侧面板中,您可以在此面板中深入到类和函数(程序集资源管理器面板)我试图双击模块中的DLL,但它没有在任何地方打开源代码。我已附上问题中的截图。请检查一下。看起来您使用的是vs而不是dnspy?我在dnspy中运行了DLL,并且能够打开DLL。但我无法调试它。我还希望通过我的xamarin项目进行调试。