WCF初学者教程-无法调试(单步执行)

WCF初学者教程-无法调试(单步执行),wcf,debugging,Wcf,Debugging,我正在做下面的教程,程序运行得非常好。服务和客户端都采用不同的解决方案。我可以从一个VisualStudio启动服务,然后成功运行客户端程序。但是我想进行调试。我想从客户端代码进入服务代码。当我尝试这样做时,我得到以下错误 “无法自动单步进入服务器。附加到服务器进程失败。已附加调试程序。” 客户端和服务器都是控制台应用程序,服务由slef托管。我还尝试在客户端的app.config文件中启用debug=true。对于您试图实现的目标,有几个可能的选项: 根据错误指定,客户端调试器无法附加到服务器

我正在做下面的教程,程序运行得非常好。服务和客户端都采用不同的解决方案。我可以从一个VisualStudio启动服务,然后成功运行客户端程序。但是我想进行调试。我想从客户端代码进入服务代码。当我尝试这样做时,我得到以下错误

“无法自动单步进入服务器。附加到服务器进程失败。已附加调试程序。”


客户端和服务器都是控制台应用程序,服务由slef托管。我还尝试在客户端的app.config文件中启用debug=true。

对于您试图实现的目标,有几个可能的选项:

  • 根据错误指定,客户端调试器无法附加到服务器进程,因为它已具有调试器。尝试在没有调试器的情况下启动服务器进程
  • 将客户机和服务器代码放在同一个解决方案中,然后在服务器和客户机项目上使用RMC->Debug->Start new instance
  • 使用调试器运行服务器进程,然后使用“调试->附加到进程…”附加到客户端代码(不应使用调试器运行)

  • 我建议(至少目前)将这两个问题放在同一个解决方案中进行调试。在单个工作区中使用它更容易。

    您应该将服务附加到客户端。在服务运行的VS实例中,转到
    debug->Attach->(客户端运行的VS实例的devenv.exe)
    ,然后启动客户端。

    第二种方法可行,但我的目标不是实现这一点。我希望他们在两个不同的视频工作室中使用客户端和服务器。当我使用第一种方法时,我会出现以下新错误-“无法自动进入服务器。无法调试远程过程。这通常表示服务器上未启用调试。”我不确定如何实现第三个目标。是否在调试模式下运行内置的服务器进程?关于第三个,您可以像往常一样从visual studio启动服务器进程(F5),然后从exe文件启动客户端进程,然后在server visual studio中单击菜单“调试”->“附加到进程”。。然后选择你的客户端exe进程。对不起,我按你说的做了。按F5启动服务。然后运行客户端程序(Ctrl+F5)。但是,当我尝试从服务器VisualStudio附加客户端进程时,它被禁用。我不能附上它。从命令行运行客户端程序也没有意义,因为它将在不到1秒的时间内完成。只有一个对服务的函数调用。我需要在客户端程序中设置一个断点。