如何在Visual Studio中的引用代码中设置断点?

我的主要解决scheme是使用来自实用程序类库的代码,这是我自己写的,但是是来自另一个解决scheme的一部分。 如何在引用的DLL文件中设置断点?

单击debugging,新build断点,在函数中断,然后input函数的全名。

使用菜单手动打开包含所需方法的引用dll的源文件

文件>打开>文件…

然后通过在代码编辑器中单击左边框来设置断点。 这使您可以在任何代码行而不仅仅是在函数调用。 Visual Studio显示处于禁用状态的断点,因为它认为代码不可访问。 只是忽略它; 一旦代码运行,断点将变为活动状态。

您可以执行以下任一操作:

  1. 将DLL项目添加到包含您的可执行文件的解决scheme。 然后你可以像往常一样设置断点。
  2. 您可以改为打开DLL项目,并使用“debugging – >附加到进程”附加到正在运行的EXE

确保你在被引用的类库dll所在的bin / debug文件夹中有.pdb文件。 当你正在debugging你当前的解决scheme时,你应该能够从你的类库中获取代码。 当你进入类库时,你将能够设置断点。

我知道这是一个古老的问题,但可能对许多人有帮助。

为了使debugging器正常工作,您需要加载debugging符号数据库,一个与要debugging的程序集同名的.pdb文件。 如果它是您创build的解决scheme的一部分,则可以将其从另一个解决scheme的bin文件夹复制粘贴。 然后添加一个断点,指定要debugging的方法的完整path,以及它所在的程序集的名称。EX:“MyNamespace.MayClass.MyMethod,MyAssemblyName”

如果你不拥有代码,你有两个选项,都涉及到一个dissasembler。 我使用dotPeek,因为它真的很有趣。

选项1:用dotPeek打开程序集并为其创build一个.pdb,然后将其复制到.bin文件夹中,然后执行上述步骤。 https://www.jetbrains.com/decompiler/help/Generating_PDB_Files.html

选项2:使用dotPeek符号服务器和PDB生成。 https://www.jetbrains.com/decompiler/help/Symbol_Server_and_PDB_Generation.html之后,按照上面的说明附加一个debugging器实例。;

希望这可以帮助

这不是我自己的答案,这是弗雷普D – 奥龙格在上面的意见之一的build议。 这很容易,没有打嗝的工作:

“我觉得很简单 – 只需要并行运行Studio的两个实例,在没有附加debugging器的情况下启动”主“的Ctrl-F5,然后使用正在编辑库项目的studio实例附加到进程”

所有学分都归功于他。