远程调试Web服务时出现的问题

| 我已经在Google和StackOverflow上多次发现此问题,尽管没有一个能解决我的问题。 我正在尝试远程调试Web服务,正确设置了远程调试,已经部署了最新版本(以及pdb文件),并将调试器附加到远程计算机上的w3wp进程中。但是,一旦附加,我的所有断点都会自动禁用(目前不会命中断点。此文档未加载任何符号)。有人知道我在做什么错吗? 到目前为止,我已经尝试了以下方法: 在高级编译选项中将“生成调试信息”设置为“完整”。 在高级编译选项中将“启用优化”设置为“假”。 在“模块”窗口中,符号状态为“已跳过加载符号” 尝试手动加载符号 尝试将符号设置中的符号文件位置更改为远程pdb文件 部署前清理并重建解决方案 我尝试在调试选项中取消选中“仅我的代码”,这似乎可以解决问题,但是当我调用Web服务时,没有遇到断点。 这个网站看起来很有希望,但最终没有帮助 pdb在远程计算机上     
已邀请:
经过一番混乱,我似乎已经实现了我想要的: 在高级编译选项中 将“生成调试信息”设置为“完整”。 将“启用优化”设置为“假”。 确保符号设置中的符号文件位置(调试-模块窗口)指向正确的位置 我将远程位置和本地位置添加到了.pdb位置 部署前清理并重建解决方案     
我从未找到一种确定的可行方法来使其正常工作。尝试调试IIS中托管的WCF服务时,一遍又一遍地执行相同的过程(重新构建,部署,重新启动站点,附加),有时会加载符号,有时不会。 以我为例,这取决于我是否在部署后有人向站点发出请求之前是否已附加到进程(进而导致IIS进行编译并执行其时髦的工作)。 我发现,如果按照以下步骤进行操作,则对我有用: 重建解决方案 部署到远程服务器 重新启动IIS-我怀疑这是必要的,我确定重新启动应用程序池就足够了 找到工作进程并附加到它- 此时将禁用断点,这很好 要求网站提供的内容- 我只是使用浏览器来完成的。这导致IIS编译我的应用程序。通过在此编译之前附加VS,我发现我正在加载符号(至少比以前更频繁)。 也许相同的过程对您有用吗?     
以我为例,我将pdb部署到iis worker进程路径上,因此一切都很好,而且我真的看不到为什么出现“跳过加载的符号”。 我真的有一种印象,就是心情不好(没有理性的理由)。 因此,我右键单击了我感兴趣的dll(也可以选择多个文件), 并选择从>从符号路径加载符号 这导致它们被加载。 然后我可以调试它。谢谢!     

要回复问题请先登录注册