我无法让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页面。 / p>
从Visual Studio我附加到位于Web前端的w3wp.exp,在那里我可以看到Remote Debugger Monitor告诉我它已成功连接。
现在无论我做什么VS都不会在断点处停下来。此外,断点图标显示消息“不会点击断点。此文档没有加载符号。”
在这种情况下,.pdb从何处加载?我该怎么做才能让它成功加载.pdb文件?
感谢您的帮助。
答案 0 :(得分:1)
WSPBuilder部署的程序集是在发布模式下构建的,不包含调试符号。为了加载调试符号,您需要在调试模式下构建解决方案/项目并覆盖vm中bin / GAC中的程序集。调试程序集可以在bin / Debug下的visual studio项目文件夹中找到。
如果您在覆盖GAC程序集时遇到问题,请暂时停止与SharePoint站点关联的应用程序池。
希望这有帮助!
答案 1 :(得分:1)
对于托管代码调试,VS2008在远程计算机而不是本地框中查找符号。因此,您的PDB必须可以在Web前端框上运行的msvsmon.exe实例访问(通过共享,或通过将PDB复制到该计算机上)。
答案 2 :(得分:0)
要加载调试符号,请检查以下几点......
如果远程计算机上的调试可执行文件是32位exe,那么应该在远程计算机上运行的远程调试器也应该是32位版本的" Visual Studio 2008远程调试器&#34 ;即使远程机器的操作系统是64位机器。 如果远程计算机上的调试可执行文件是64位,那么应该使用" Visual Studio远程调试器(x64)"。
远程调试的可执行文件的路径应该可以从安装Visual Studio的计算机访问,并且可执行文件的.pdb文件应该存在于该路径中。