如何在代码中启用WCF调试

时间:2013-04-08 10:48:51

标签: c# .net wcf

我有一个自托管的WCF服务。我没有app.config文件,而是在代码中的所有配置都在运行时执行。但我无法弄清楚如何在代码中启用调试。

更新

我有一个包含两个项目的VS解决方案:

  1. 在WinForms应用程序中托管的WCF服务
  2. 使用服务的简单控制台客户端
  3. 我希望能够在Visual Studio中启动调试会话,调试客户端,设置和命中服务应用程序中的断点。当我使用app.config文件时,我能够做到这一点,但现在我想在没有它们的情况下做同样的事情。

2 个答案:

答案 0 :(得分:1)

将调试器附加到运行wcf服务的进程中。

如果在IIS中,则必须附加到相应的w3p.exe进程。

如果在独立应用或Windows服务中,请附加到您的exe的名称。

在VS调试器选项中,有子选项“attach to process”。您需要将brak指向适当的代码并调用服务,从而导致该代码路径执行。

可以参考此链接:

http://msdn.microsoft.com/en-us/library/aa702726.aspx

以及这一个:

http://www.codeproject.com/Articles/17258/Debugging-WCF-Apps

这可能对您有所帮助。

答案 1 :(得分:1)

如果您需要从代码启动调试器,请写下以下行:

System.Diagnostics.Debugger.Launch();

我经常在调试目的中使用这个tecknique。但最好在发布版本中删除它。

如果要附加到已经运行的进程,请打开Visual Studio,转到菜单Debug > Attach to process,找到托管进程并单击“附加”按钮。