调试项目程序集是另一个进程的一部分

时间:2015-08-19 16:44:43

标签: c# visual-studio breakpoints debug-symbols

我有一个包含多个C#项目的解决方案。其中一个项目是可执行文件,其余是DLL。

问题是,某些项目实际上并不在与可执行启动项目相同的进程上运行。这是因为某些项目实际上是WCF服务的扩展,允许服务使用可执行文件。

我的问题是:是否有可能以任何方式,形状或形式在所述项目中设置断点?我知道能够附加到流程"但我不确定这对我来说是一个很好的解决方案。

我想:

  • 能够在我休息时看到来源
  • 如果可能,不打开两个Visual Studio副本

编辑:我不确定附加到流程的唯一原因'对我来说效果很好是因为我对这个功能没什么经验 - 也许这就是我应该使用的东西?我还可以加载.pdb文件吗?

编辑2:如果其中一位评论者想提交他们的评论作为答案,我会接受

1 个答案:

答案 0 :(得分:1)

附加到WCF服务似乎是该工作的确切工具:

  1. 它允许您附加到正在运行的进程,即使您只获得该进程的插件/扩展的代码和PDB。您可以在自己的代码中设置断点,当第三方进程调用它们时,它们会被触发。

  2. 您可以从现有的VS实例附加到任何进程,即使该实例用于调试其他可执行文件,在本例中是您的主EXE项目。您可以开始调试您的应用程序,然后在进行服务调用之前附加到服务。

  3. 确保尽管WCF服务调用的DLL与VS实例中的DLL相同 - 如果他们从与VS构建输出相同的位置调用它们,那么你将会是精细。如果没有,请确保它们已同步。