我无法让Visual Studio 2008远程调试器达到突破点 .
我有两个VMWare虚拟机 .
其中一个托管SharePoint MOSS 2007共享服务和中央管理员,并且还具有Visual Studio 2008 Professional . 我正在使用WSPBuilder来构建和部署我的Web部件 .
另一台机器是Web前端,我已将远程调试文件夹复制到C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger并启动远程调试监视器 .
在Visual Studio中,我创建了基本的WSPBuilder项目,并使用默认的“Hello SharePoint”代码添加Web部件功能,然后使用WSPBuilder菜单进行部署,在站点级别激活它并将其添加到测试SharePoint页面 .
从Visual Studio我附加到位于Web前端的w3wp.exp,在那里我可以看到远程调试器监视器告诉我它已成功连接 .
现在无论我做什么VS都不会停在断点处 . 此外,断点图标显示消息“不会点击断点 . 此文档没有加载符号” .
在这种情况下,.pdb从何处加载?我该怎么做才能让它成功加载.pdb文件?
谢谢您的帮助 .
3 回答
对于托管代码调试,VS2008在远程计算机上查找符号而不是本地框 . 因此,必须可以访问Web前端框上运行的msvsmon.exe实例(通过共享或通过将PDB复制到该计算机上)来访问您的PDB .
WSPBuilder部署的程序集以发布模式构建,不包含调试符号 . 为了加载调试符号,您需要在调试模式下构建解决方案/项目并覆盖vm中bin / GAC中的程序集 . 调试程序集可以在bin / Debug下的visual studio项目文件夹中找到 .
如果您在覆盖GAC程序集时遇到问题,请暂时停止与SharePoint站点关联的应用程序池 .
希望这可以帮助!
要加载调试符号,请检查以下几点......
如果远程计算机上的调试可执行文件是32位exe,那么应该在远程计算机上运行的远程调试程序也应该是32位版本的“Visual Studio 2008远程调试程序”,即使远程计算机的操作系统是64钻头机 . 如果远程计算机上的调试可执行文件是64位,则应使用“Visual Studio远程调试器(x64)” .
远程调试的可执行文件的路径应该可以从安装Visual Studio的计算机访问,并且可执行文件的.pdb文件应该存在于该路径中 .