Visual Studio 2013で親プロセスと子プロセスを同時にデバッグする方法について
Visual Studio 2013でデバッグ中のアプリケーションが外部アプリケーションを起動した場合、その外部アプリケーションはデバッグの対象にはなりません。
Visual Studio での 1 つ以上のプロセスのデバッグ
デバッガーは、子プロジェクトが同じソリューション内にある場合でも、デバッグ対象のプロセスによって開始された子プロセスに自動的にアタッチされません。 子プロセスをデバッグするには:
子プロセスが開始された後、そのプロセスにアタッチします。
または
デバッガーの新しいインスタンスで子プロセスが自動的に開始されるように Windows を構成します。
上記のプロセスアタッチ方式及びレジストリ設定方式はデバッグ時の操作が煩雑となりますが、Microsoft Child Process Debugging Power Tool拡張機能を使用すると、複数のプロセスで構成されるシステムのデバッグをシームレスに行うことが出来ます。
Microsoft Child Process Debugging Power Toolによるデバッグ方法
概要
下記構成のプログラムにて親プロセスと子プロセスの同時デバッグを行います。
MainForm.cs
using System.Diagnostics;
using System.Windows.Forms;
namespace MainForm
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnExecuteSubForm_Click(object sender, System.EventArgs e)
{
Process.Start(new ProcessStartInfo("SubForm.exe"));
}
}
}
SubForm.cs
using System.Windows.Forms;
namespace SubForm
{
public partial class SubForm : Form
{
public SubForm()
{
InitializeComponent();
}
}
}