如何调试引用的 dll(具有 pdb)

2023-11-22

我的工作区中有两个解决方案,即 A 和 B。

解决方案A是一个较旧的项目,我不久前完成了编码。 在解决方案 B 中,我需要使用解决方案 A 中的一些类。为此,我添加了对解决方案 A 中项目之一的 dll 的引用。

问题是当我尝试调试时。我也希望能够单步执行 A 的代码。 Visual Studio 无法加载这些类的代码(“当前位置没有可用的源代码。”),我只能查看反汇编,这没有用。

我知道调试解决方案 A 中的类的唯一方法是运行解决方案 B,分离所有进程(在“调试”菜单项中)并附加解决方案 A 中的进程。

不过这样很不方便,一次只能调试A或B。

有没有办法允许单步执行引用的 dll 的代码(我确实有源代码)?


解决方案:我的错误是我认为一个项目只能是单个解决方案的一部分。事实上,一个项目可以是任意数量的解决方案的一部分。
当您需要引用旧项目时,只需将该项目添加到解决方案中即可。这是通过右键单击“解决方案资源管理器”>“添加”>“现有项目”中的新解决方案来完成的。
然后,您将能够添加项目引用。正如其他人所写,您可能应该完全避免使用对您自己的代码(或您可能需要更改和调试的其他代码)的 dll 引用。

关于如何设计解决方案的一个很好的参考可以在MSDN.


如果你有一个project参考,它应该立即起作用。

如果它是一个file(dll) 引用,您需要将调试符号(“pdb”文件)与 dll 位于同一文件夹中。检查您的项目是否正在生成调试符号(项目属性=>构建=>高级=>输出/调试信息=完整);如果你有copieddll,把pdb也放在一起。

如果您不想复制任何文件,也可以直接在 IDE 中加载符号,但这会增加工作量。

最简单的选择是使用项目参考!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调试引用的 dll(具有 pdb) 的相关文章

随机推荐