我有一个服务器,运行我编写的一些代码。不幸的是,出了点问题,我无法在我的开发机器上轻松地重现它。
所以我想使用 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 连接进行调试?