C#を介して別のプロセスの実行を制御する
質問
iは、コードのようなスクリプトを渡すcプログラムを作成し、それを実行して結果を出力します。送信する場合のようなもの
for i in 1 to 10
print i
基本的に1から10までの値を出力するコードを作成して実行します。 しかし、プログラムに渡すスクリプトにBPとしてブレークポイントを追加する機能を追加したコードのステップワイズ実行を統合したかった。 BPが検出されると実行され、ユーザーがcontinueコマンド「CNT」を入力するのを待ちます。
今、スクリプトを作成してプログラムで実行するための小さなアイデアを開発しました。ただし、IDEを介したデバッグサポートの提供に問題があります。コードの各行をステップ実行するか、プロセス全体を実行する(ブレークポイントがヒットした後のF5など)ようなものを実装したい。
for i in 1 to 10
{
print i
BP
}
したがって、プログラムはすべての行の後に停止し、ユーザーがCNTを入力するのを待ちます。ただし、最初のブレークポイントがヒットした後にプログラム全体を実行できるようにしたいです。
C#で、アタッチしている外部exeプログラムの実行を制御できる方法を探していました。そのようにして、次の1行または次の5行などでプログラムを実行するなどのコマンドを送信できます。
解決 2
これに対する答えは多数あり、実装に依存します。 Ivは、ブレークポイントに到達するたびに行番号を出力する機能をプログラムに追加しました。このようにして、実行を制御できました。
他のヒント
おそらく、この前の質問を見てみることができます。 デバッガはどのように動作しますか
(現在)最も投票されている回答で提供されているリンクは、Windowsプラットフォームでのデバッガーの動作と、独自の実装方法の基本的な理解を提供します。