Visual studio - 将调试器附加到远程进程 - 以编程方式

Visual studio - Attach debugger to remote process - programatically

我正在尝试编写给定机器和进程名称的代码,在 visual studio 中启动调试器并连接到远程机器上的进程。

我可以手动成功,但是,我查找了有关如何使用 DTE 对象进行标识的指南,但没有成功。

我尝试了以下方法: https://social.msdn.microsoft.com/Forums/vstudio/en-US/69abdaf1-60b1-4ffd-ad33-2d319cb13316/how-do-i-automate-attaching-the-debugger-to-a-remote-process?forum=vsx

并且:https://blogs.msdn.microsoft.com/csharpfaq/2011/03/28/how-to-programmatically-launch-debugger-in-a-remote-machine/

在第一个解决方案中,没有任何反应,并且'LaunchDebugTargets3'方法returns非零代码。第二个在调用方法时抛出一般失败异常:"AttachDebugger".

有人可以帮我吗?

设法解决了。

        var debugger = dte.Debugger as EnvDTE80.Debugger2;
        var transport = debugger.Transports.Item("Remote");
        var process = debugger.GetProcesses(transport, "remoteMachineName").Item("your-process.exe") as EnvDTE80.Process2;
        process.Attach();