Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t加载调试符号VS2017-Unity.NET 4.X_.net_Visual Studio_Unity3d_Debugging_Pdb Files - Fatal编程技术网

Can';t加载调试符号VS2017-Unity.NET 4.X

Can';t加载调试符号VS2017-Unity.NET 4.X,.net,visual-studio,unity3d,debugging,pdb-files,.net,Visual Studio,Unity3d,Debugging,Pdb Files,我正在使用我在Unity 2018.4.2 Windows项目中构建的.NET 4.7.1库,并尝试使用加载的符号进行调试。无论我如何尝试,在Visual Studio 2017(15.9.12)中调试时,我都无法为库加载符号。“模块”窗口中“我的DLL”旁边显示以下内容: 符号状态:未加载 以下是我尝试过的: 以调试方式构建库 绝对确保当前PDB与当前DLL匹配 模块>符号设置>将PDB目录添加到符号文件位置 将PDB文件复制到DLL旁边的项目中 脚本运行时4.X,API兼容。4.X统一 调试

我正在使用我在Unity 2018.4.2 Windows项目中构建的.NET 4.7.1库,并尝试使用加载的符号进行调试。无论我如何尝试,在Visual Studio 2017(15.9.12)中调试时,我都无法为库加载符号。“模块”窗口中“我的DLL”旁边显示以下内容:

符号状态:未加载

以下是我尝试过的:

  • 以调试方式构建库
  • 绝对确保当前PDB与当前DLL匹配
  • 模块>符号设置>将PDB目录添加到符号文件位置
  • 将PDB文件复制到DLL旁边的项目中
  • 脚本运行时4.X,API兼容。4.X统一
  • 调试独立版本和编辑器
  • 已使用ILSpy打开库,调试符号已正确加载
  • 右键单击VS模块窗口中的DLL并单击“符号加载信息”-什么也不发生
  • 右键单击VS模块窗口中的DLL并单击“加载符号”-
  • 单击“加载符号”时,将显示以下内容->


    但符号状态仍然是“未加载”

    我在与之斗争后也发现了这一点

    我相信这个问题源于我在Unity之前安装Visual Studio的时候

    对我来说,解决这个问题的办法是:

    在Unity->Edit->Preferences->External Tools->(将外部脚本编辑器更改为您想要的并确保它是正确的,即:我已将我的设置为visual studio 2019,但它需要visual studio 2019(企业版))

    这与VisualStudio开放的情况是一样的——看起来是Unity方面的原因造成了这个问题


    这为我解决了这个问题,我希望它也能帮助你。

    我从这篇文章中找到了解决方案:

    您的项目属性窗口->构建->高级->调试信息选择便携式


    重建并完成

    使用模块工具窗口dbl检查DLL实际加载的路径,在大多数情况下,如果DLL和pdb并排放置,如果VS调试器拒绝加载pdb,则很可能是从其他路径加载DLL。结果加载了一个不匹配的。当链接器创建二进制文件和pdb时,它会生成一个guid来标记这两个文件。VS调试器检查二进制文件中的guid以及它试图加载的任何PDB。如果它们不匹配,则不会加载。在编辑器模式下,模块DLL路径与预期一致。构建当然会将这些文件移动到构建目录。如果配置了(在播放器设置中),PDB文件也会被复制(在DLL的新路径旁边)。我在这里将此作为错误记录在Microsoft中:我在2020年仍有相同的问题。你是能够解决这个问题还是放弃了所有的希望?不幸的是,我放弃了:(