2009-06-12 116 views

回答

3

在visual studio中点击工具|附加到过程。然后选择适当的服务。

2

你可以在任何值得使用它的调试器中做到这一点。

Visual Studio有一个应该适合您的需求。

如果您需要更高级的控制,请尝试OllyDbg,这是一个反汇编程序,所以您可以在程序集级别上实际操作程序。这会给你完全的控制,但也可能是信息超载。

+0

的WinDbg应该被使用。带有SOS的WinDbg确实胜过了.NET的OllyDbg。 OllyDbg具有更多的“分析”功能,但WinDbg在这里更合适 - OP可能只想调试他自己的过程 – kizzx2 2011-04-21 03:59:22

1

在Visual Studio 2015中,单击菜单中的“调试>附加到进程”。或者,有一个快捷键Ctrl + Alt + P。

0

您可以在您的代码中执行此操作。

public static void Attach(DTE2 dte) 
     { 
      var processes = dte.Debugger.LocalProcesses; 
      foreach (var proc in processes.Cast<EnvDTE.Process>().Where(proc => proc.Name.IndexOf("YourProcess.exe") != -1)) 
       proc.Attach(); 
     } 

     internal static DTE2 GetCurrent() 
     { 
      var dte2 = (DTE2)Marshal.GetActiveObject("VisualStudio.DTE.12.0"); // For VisualStudio 2013 

      return dte2; 
     } 

用法:

Attach(GetCurrent()); 
相关问题