Asp.net 远程调试Azure网站:未命中断点
我已经在Azure上部署了一个ASP.NET网站。我正在使用VS2013、.NET4.5.1和Azure SDK 2.2。我在管理门户中打开了VS2013的远程调试。我可以成功右键单击服务器中“Azure”节点下的网站,然后选择“附加调试器”。它表示正在下载调试设置,然后web浏览器出现。但断点永远不会被命中,尽管它们存在于我知道已执行的代码中。一条线索:断点有一个开放的圆圈,表示:“当前不会命中断点。没有为此文档加载任何符号。”但在本地测试时,断点工作正常。有人对如何解决这个问题有什么想法吗 谢谢 -本Asp.net 远程调试Azure网站:未命中断点,asp.net,debugging,azure,Asp.net,Debugging,Azure,我已经在Azure上部署了一个ASP.NET网站。我正在使用VS2013、.NET4.5.1和Azure SDK 2.2。我在管理门户中打开了VS2013的远程调试。我可以成功右键单击服务器中“Azure”节点下的网站,然后选择“附加调试器”。它表示正在下载调试设置,然后web浏览器出现。但断点永远不会被命中,尽管它们存在于我知道已执行的代码中。一条线索:断点有一个开放的圆圈,表示:“当前不会命中断点。没有为此文档加载任何符号。”但在本地测试时,断点工作正常。有人对如何解决这个问题有什么想法吗
更新:我从.NET4.5.1降到了4.5;问题依然存在。我写了一篇短文,帮助我进行调试。 请看这里: 简而言之:为worker角色和web角色找到要附加到的正确进程。 WebRole:WaIISHost.exe、w3wp.exe+conhost
WorkerRole:WaWorkerHost.exe+conhost我也在努力解决这个问题(VS2015 Enterprise),但找到了一个非常一致的解决方案
- 确保您没有连接到web应用
- 打开web应用程序的Azure门户
- 停止web应用程序
- 重新启动web应用程序
- 给它一秒钟热身,然后返回VS并重新连接
我几乎每次都这样。请注意,在Visual Studio中从w/停止和启动web应用程序并不一致 确保将调试生成发布到特定的部署插槽。我也遇到了同样的问题,当我将远程调试器连接到部署了调试构建的暂存槽时,它工作了。尝试调试发布版本不起作用,因为不存在必需的调试符号。正如上面@Lars所解释的,我必须在Azure上重新启动web应用程序,然后针对调试版本再次尝试调试。我在.Net核心Azure功能项目中遇到了这个问题。以下github问题说明了这一点,但解决方案并没有解决我的问题: 我终于在这里找到了答案:
它归结为在Azure中手动附加到进程,而不是依赖云资源管理器的右键单击功能。经过几个小时的努力,我找到了一个一致的解决方案。我认为根本原因就是用户界面混乱。试试这个:
我曾多次遇到过这个问题 我通过确保发布配置文件的平台/配置与本地构建平台/配置相匹配来修复它 我发布的是Debug | Any CPU,但我的本地构建使用的是Debug |混合平台 一旦我将发布配置更改为Debug | Mixed Platforms并重新发布,我就能够连接远程调试器并加载符号 通过在Visual Studio“Modules”窗口中查找命名空间/程序集名称,验证是否已为尝试设置断点的程序集加载符号。(这是在将调试器连接到远程进程之后,并且VS处于调试模式。)
完成此操作后,断点开始在本地VS实例中为远程进程工作。请参阅以下答案:谢谢!那条线有解决办法。应该注意的是,即使我没有使用GIT deploy,我也遇到了这个问题,所以这个线程对其他人可能仍然有价值。这个问题对我来说并没有解决。另一个线程唯一相关的解决方案是[只关闭代码调试],但我已经这样做了。