我有一个用C#编写的MVC核心网站,该网站部署在部署了Windows Server 2012 R2和IIS8的AWS EC2实例上。
我正在尝试远程调试应用程序,因为我收到了错误,我在本地运行时没有(可能是其他帖子的详细信息)。
在AWS控制台上,我有一个安全组,其中包含here指导下的以下规则:
当我点击Debug->Attach to process
并浏览到我的AWS实例时,我可以看到正确的dnx.exe进程,但是,当我附加到该进程时,
我得到了The breakpoint will not currently be hit. No symbols have been loaded for this document
我已尝试转到Tools->Options->Debugging->Symbols
并点击Load all symbols
,因为我的理解是,自VS2012以来,不需要部署符号,而只需在本地机器上进行调试,来自here。
在VS 2012之前的Visual Studio版本中,调试远程设备上的托管代码要求符号文件也位于远程计算机上。这已不再是这种情况。所有符号文件必须位于本地计算机上或Visual Studio选项对话框的“调试/符号”页面中指定的位置。请参阅Microsoft Application Lifecycle博客上的Visual Studio 2012和2013中的.NET Remote Symbol加载更改。
我可以看到在EC2实例上的MSVSMON进程中启动了连接。
我觉得我很接近,但我只是错过了一件简单的事情。
答案 0 :(得分:0)
您需要检查远程调试器在哪个端口上运行,并通过使用自定义TCP规则打开入站端口[在我的情况下为4024] 来允许该端口上的入站流量。
>您可以在“远程调试器”菜单中的工具>选项中检查远程调试器使用的端口。