我有一台服务器,我运行的代码运行。不幸的是出了问题,我不能轻易地在我的开发机器上重现它。
所以我想使用VS远程调试器远程调试它。这通常不是什么大问题,但在这种情况下,我无法直接到达服务器,只能通过第二个服务器。所以我尝试将一些端口(14016,因为我不能直接使用4016)转发到目标机器的端口4016.
当我尝试连接到目标计算机上运行的进程时,VS告诉我远程调试器似乎没有在目标计算机上运行。
我在使用Wireshark时看到的是VS通过TCP发送一些数据,其中包含net.tcp://192.168.172.34:14016 / Microsoft / VisualStudio / msvsmon形式的URI。 192.168.172.34:14016是执行端口转发的中间服务器的IP和端口。这是有道理的,因为VS只知道这个服务器。
问题似乎是MSVSMON至少检查了端口号,或者也检查了IP并用http://schemas.microsoft.com/ws/2006/05/framing/faults/EndpointNotFound回答,如Wireshark中所示......
所以问题是:有没有办法对转发的TCP连接进行调试?
答案 0 :(得分:1)
这对你来说可能为时已晚。但它可能会帮助那些谷歌的人:
这对我来说在类似的环境中起作用。我不知道某些功能是否被打破,我只是不知道。我可以使用断点,单步执行和查看变量。对我来说够多的了。
(以此为基本想法,你可能需要摆弄一下。也许根本不要使用“/ hostname”。也许使用网络IP而不是“127.0.0.1”。)