gpt4 book ai didi

c# - 为什么我的符号 (pdb) 不能从本地路径加载?

转载 作者:太空狗 更新时间:2023-10-29 21:10:59 28 4
gpt4 key购买 nike

我刚刚构建了由一些 C++ 和 C# 代码组成的应用程序,并将其安装在另一台机器上。当我连接远程调试器时,我可以调试 C++ 代码,然后单步执行。但是,当我尝试调试 C# 代码时,似乎没有加载符号。我尝试在 visual studio 中调出模块 Pane 并浏览到正确的 .pdb 文件,但我只是收到一个消息框,告诉我它不匹配。

我不明白为什么会这样。我从这里使用了 chkmatch:http://www.debuginfo.com/tools/chkmatch.html - 报告我选择的 .exe 和 .pdb 确实匹配。

我已经清除了所有源代码,获取并重建了所有内容,所以我很确定我没有在 .pdbs 周围遇到一些旧错误。

我找到了这个相关问题 The Symbol file MyFile.pdb does not match the module但是,更多的是做原生符号不匹配。我的 native 符号匹配,只是符号拒绝匹配的 .net 程序集。

我们非常欢迎任何关于检查的建议。

谢谢。

更新:我现在已经设法加载符号了!但是...解决方案是将符号文件复制到远程计算机并将它们放在与远程计算机上的 .exe 和 dll 相同的文件夹中。 Visual Studio 似乎拒绝从我的本地计算机加载它们。如果我右键单击模块窗口中的模块并选择“符号加载信息...”,这将显示它试图从中加载符号的路径,并且其中包含 pdb 文件所在位置的正确本地路径机器。我查看了 pdb 的安全和访问控制属性,并将所有访问权限授予每个人。

这真的很令人困惑,我确信在过去我已经能够加载符号了。我想不出我所做的任何更改会突然导致它停止工作。

为什么 Visual Studio 拒绝从我的本地计算机加载符号?

最佳答案

就是这样。用于 .NET 远程调试的 PDB 始终从远程计算机加载。过去我一定是将 pdb 复制到远程机器,但我忘记了。

http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/26/visual-studio-remote-debugging-and-pdb-files.aspx


啊。我知道为什么我有一段时间不必记得将 pdb 的副本复制到远程机器了。我在远程机器上设置了一个网络文件夹映射,将一个驱动器映射到我的本地机器……这被用来解析路径。我有一个本地驱动器 S:,我在其中保存所有源代码,并且碰巧是将其网络映射到远程计算机上的驱动器 S:,因此一切正常。我想我会重新添加该映射,然后我就可以进行调试,而无需手动复制 pdb。

这似乎是远程调试托管代码的便捷技巧。我只是没有意识到我在做这件事!

关于c# - 为什么我的符号 (pdb) 不能从本地路径加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734641/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com