2011-02-10 36 views
1

我有一个Windows服务,并且我在Onstart服务的方法中写入Debugger.Attach()。 当我开始服务时,我得到一个弹出窗口,要求选择调试器实例。 当我选择并按下确定,视觉工作室进入焦点,但显示“没有符号已加载”消息。调试windows服务给出没有符号已经加载消息

+0

你调试问题相关它是服务中的一种服务,还是调试逻辑,这在控制台程序中很容易实现? – 2011-02-10 13:57:12

回答

9

我跟着这里http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx

两个步骤 1,从而在Visual Studio调试,点击调试>窗口>模块。 IDE将停靠一个“模块”窗口,显示已为您的项目加载的所有模块。 查找您的项目的DLL,并检查它的符号状态。 如果它说符号加载,那么你是金。如果它表示无法找到或打开PDB文件,请右键单击模块,选择Load Symbols,然后浏览到PDB的路径。

页转到调试 - >选项和设置 - > 调试节点下 - >一般... ...取消选中“只是我的密码”复选框

和它的工作...

+0

哪个进程为了调试窗口服务而附加? – Gaurav123 2013-09-19 21:10:03

1

当我正在运行的项目的构建与VS当前加载的构建不完全匹配时,我最常见到这个问题。例如,我构建了我的VS项目,然后对项目中的文件进行了一些(任何)更改并保存而不用重新构建。然后,如果我运行可执行文件/服务/ DLL,则先前构建的版本将运行,并且因为它与我在VS中的版本(感谢我的代码更改)不匹配,所以它不会正确附加。

这种情况下的特定问题是VS调试PDB文件与调试不可能的源代码不匹配。

这可能不是你的问题,但我已经看到无数次的“无符号...”错误,它通常是执行的代码不匹配VS中的代码的情况。