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

时间:2018-02-25 11:01:06

标签: c# visual-studio debugging remote-debugging vsix

我正在尝试编写给出机器和进程名称的代码,在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'方法返回非零代码。第二个在调用方法时抛出一般失败异常:“AttachDebugger”。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

管理解决它。

        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();