2

他のプログラム (C++ で記述されたコマンドライン プログラム) を呼び出すプログラム (C# で記述された WPF アプリ) があります。どちらも同じソリューションにあります。ある時点で、呼び出し元は、 で提供されている方法論を使用して、他のプログラムを使用していくつかの処理を実行しSystem.Diagnostics.Processます。このプロジェクトをテストしながら、両方のプログラムをデバッグしたいと思います。どうやってするか?ライブラリに「アタッチ」するような簡単な方法はありますか?

--EDIT--
プロセスAがプロセスBを開始します。次に、AはプロセスBが終了するまで待機します。さらに、すぐに終了するコマンドプロンプトのような非常に小さなものdir

4

4 に答える 4

1

私があなたを正しく理解している場合は、デバッガーを他のプロセスに接続してください。Visual Studio の 1 つのインスタンスから複数のプロセスにアタッチできますが、2 つのデバッガーを同じプロセスにアタッチすることはできません。ただし、必ず各プロセスに適切なデバッガーを接続してください。つまり、ネイティブ デバッガーを C++ アプリケーションに接続し、マネージ デバッガーを WPF アプリケーションに接続してください。

プロセスツールウィンドウからデバッガープロセスを切り替えることができます (両方ともブレークポイントで一時停止されている場合)。現在選択されているプロセスのコール スタックとその他すべてが更新されます。

于 2013-11-13T10:22:03.610 に答える
0

VS の別のインスタンスを実行し、ソリューションを開いて、実行中のプロセス http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3.aspxに接続してみます

于 2013-11-13T10:19:43.213 に答える
0

C++/Cli を使用する小さなクラスを作成することもできます。外部から見ると、このクラスは C# クラスのように見え、C# から直接使用できます。しかし、C++/Cli 内では、自由に C++ を呼び出すことができます。そうすれば、System.Diagnostics.Process の使用を削除して、他のプログラムを直接使用できます。

前もって少し作業が必要ですが、現在 C# コードで行っているように、C++ コードに直接ステップインできます。

于 2013-11-13T10:22:40.097 に答える