代码之家  ›  专栏  ›  技术社区  ›  Dabblernl

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

  •  45
  • Dabblernl  · 技术社区  · 15 年前

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

    6 回复  |  直到 6 年前
        1
  •  44
  •   SLaks    15 年前

    单击Debug、New Breakpoint、Break at函数,然后输入函数的全名。

        2
  •  19
  •   Olivier Jacot-Descombes    6 年前

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

    文件>打开>文件…

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

    注意:您必须引用程序集的调试版本才能运行此程序集。

        3
  •  15
  •   Josh    15 年前

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

    1. 将dll项目添加到包含可执行文件的解决方案中。然后您可以将断点设置为正常值。
    2. 您可以打开dll项目并使用调试->附加到进程以附加到正在运行的exe
        4
  •  5
  •   Matt Dearing    15 年前

    确保在引用的类库dll所在的bin/debug文件夹中有.pdb文件。在调试当前解决方案时,您应该能够从类库进入代码。当您进入类库时,您将能够设置断点。

        5
  •  5
  •   Hellraiser    10 年前

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

    要使调试器正常工作,需要加载调试符号数据库,一个与要调试的程序集同名的.pdb文件。如果它是您创建的解决方案的一部分,您可以从另一个解决方案的bin文件夹复制粘贴它。然后添加一个断点,指定要调试的方法的完整路径,以及它所在的程序集的名称。例如:“mynamespace.mayclass.mymethod,myassemblyname”

    如果你不拥有代码,你有两个选择,都涉及一个分解者。我用dotpeek做这个,因为它真的很震撼。

    选项1:使用dotpeek打开程序集并为此创建一个.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 之后,按照上面的说明附加调试程序实例。

    希望这有帮助

        6
  •  0
  •   makoshichi    8 年前

    这不是我自己的答案,这是弗雷普·奥朗奇在上述评论中的一个建议。这很容易,而且不会打嗝:

    “我觉得很简单-只需并行运行两个Studio实例。“primary”上的ctrl-f5在不附加调试器的情况下启动,然后使用正在编辑库项目的studio实例附加到进程”

    所有的学分都是他应得的。