Process.Start()
というコードでプロセスを開始できます。 そのプロセスにデバッガを接続することはできますか?Visual Studioでプロセスをデバッガにアタッチするにはどうすればよいですか?
そのものからではありませんが、これを行うにはどうすればよいですか?
Process.Start()
というコードでプロセスを開始できます。 そのプロセスにデバッガを接続することはできますか?Visual Studioでプロセスをデバッガにアタッチするにはどうすればよいですか?
そのものからではありませんが、これを行うにはどうすればよいですか?
attach to a running processTools | Attach to Process
を使用してください。 Webアプリケーションの場合は、aspnet_wp.exe
またはw3wp.exe
に添付することで添付できます。
はそれに対処する他のスタックオーバーフローの質問です:
は、プログラムのプロセスにアタッチする方法についてのご質問にお答えするために、
ビジュアルスタジオで[ツール|プロセスにアタッチします。次に、適切なサービスを選択します。
これは、その塩の価値があるデバッガであれば、ほとんど可能です。
Visual Studioには、ユーザーのニーズに合わせたものがあります。
さらに高度なコントロールが必要な場合は、逆アセンブラであるOllyDbgを試してください。実際にアセンブリレベルでプログラムを操作できます。これにより完全な制御が可能になりますが、情報過負荷の可能性もあります。
Visual Studio 2015で、[デバッグ]> [処理に添付]をクリックします。または、ショートカットキーCtrl + Alt + Pがあります。
あなたのコードでこれを行うことができます。
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());
のWinDbgを使用する必要があります。 WinDbg with SOSは、.NET用のOllyDbgに匹敵します。 OllyDbgにはより多くの「分析」機能がありますが、WinDbgはここでより適切です - OPはおそらく自分のプロセスをデバッグしたいだけです – kizzx2