Visual Studio - 以编程方式将调试器附加到远程进程
Posted
技术标签:
【中文标题】Visual Studio - 以编程方式将调试器附加到远程进程【英文标题】:Visual studio - Attach debugger to remote process - programatically 【发布时间】:2018-08-04 23:25:06 【问题描述】:我正在尝试编写给定机器和进程名称的代码,在 Visual Studio 中启动调试器并连接到远程机器上的进程。
我可以手动成功,但是,我寻找了如何使用 DTE 对象进行 id 的指南,但没有成功。
我尝试了以下方法: 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】:设法解决它。
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();
【讨论】:
感谢分享解决方案,您可以将其标记为答案以帮助更多人。以上是关于Visual Studio - 以编程方式将调试器附加到远程进程的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Visual Studio 2012 中以编程方式折叠/展开某个名称的所有预处理器块吗?