我有一个Windows服务,我在服务的Debugger.Attach()
方法中编写了Onstart
。
当我启动服务时,我得到一个弹出窗口,要求选择调试器实例。
当我选择并按下确定时,视觉工作室开始聚焦,但向我显示“没有加载符号”消息。
答案 0 :(得分:10)
我遵循了两个步骤 1.从这里http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx
在Visual Studio中进行调试时,单击Debug> Windows>模块。 IDE将停靠模块窗口,显示已为项目加载的所有模块。 查找项目的DLL,并检查它的符号状态。 如果它说符号加载,那么你就是金色的。如果它显示无法找到或打开PDB文件,请右键单击模块,选择“加载符号”,然后浏览到PDB的路径。
2转到Debug->选项和设置 - > 在调试节点下 - > general ...取消选中“只是我的代码”复选框
它有效......
答案 1 :(得分:1)
当我正在运行的项目的构建与当前在VS中加载的构建不完全匹配时,我最常见到这个问题。例如,我构建我的VS项目,然后我对项目中的文件进行一些(任何)更改并保存而不重建。然后,如果我运行可执行文件/服务/ DLL,之前构建的版本将运行,因为它与我在VS中的版本不匹配(感谢我的代码更改),它将无法正确附加。
这种情况下的具体问题是VS调试PDB文件与源代码不匹配,无法进行调试。
这可能不是你的问题,但我已经无数次地看到“无符号......”错误,通常情况下执行的代码与VS中的代码不匹配。