为什么我的模块不在模块列表中?

时间:2012-06-21 10:26:51

标签: wcf visual-studio-2010 debugging

我有一个可以调试的WCF服务。我在代码中设置了一个断点,我想调试并获取消息

The breakpoint will not currently be hit.  The source code is different from the original version.

我一直在努力奋斗3天,并尝试过我在其他帖子中找到的所有内容。

我注意到的一件事是,如果我去调试 - > Windows - >模块我要调试的模块不在该列表中。我认为这可能与它有关。有谁知道我应该做什么。

谢谢,

萨钦

修改

我已经尝试了所有这些事情以及更多,但由于某种原因,我仍然有同样的问题。对此有任何解决方案吗?

3 个答案:

答案 0 :(得分:3)

在关闭其中打开的任何文件后,尝试关闭visual studio。然后进入bin文件夹进行调试并删除所有.pdb文件。现在重新打开visual studio并重建项目或进行干净和构建,确保您处于调试模式而不是发布模式。如果您的pdb文件被锁定,则可能会出现此问题。如果你有一个pdb文件存在该DLL,那么它应该拿起该模块进行调试。

如果那不起作用你重新启动了你的机器?如果不尝试重启,因为有时该过程可能会被W​​indows捕获,重新启动将释放锁以覆盖文件。

快速提问。有问题的模块是外部模块还是您正在调试的当前解决方案的一部分?如果它是一个内部模块,那么上面的解决方案肯定会起作用,因为你将为该程序集生成一个新的.pdb文件。

答案 1 :(得分:1)

右键单击解决方案资源管理器中的项目,然后选择“清理”。构建项目的新版本,断点将再次起作用。如果这不起作用,请尝试从bin和obj文件夹中删除所有内容,然后重新构建项目。

答案 2 :(得分:1)

说明一点,这个错误意味着编译的服务与源代码不匹配,即自服务运行以来源代码已经改变。确保重建解决方案。

我对调试WCF服务所做的是拥有2个Visual Studio实例。一个运行WCF服务托管应用程序(控制台),另一个运行客户端。确保您正在运行调试版本。只要客户端可以成功连接到您的服务,它就可以正常工作(和调试)。

你得到了

  

断点当前不会被击中。

当尚未加载具有该断点的模块时。在客户端连接之前,您的服务将不会加载。