web-dev-qa-db-ja.com

リダイレクトされた標準入力を使用したVisualStudioでのデバッグ

VisualStudioでc ++コンソールアプリケーションをデバッグしています。このプログラムをデバッグするたびに同じ入力を挿入するのに疲れました。同じ入力をもっと使いたいです。

コマンドラインで次のコマンドを使用してデバッグせずにこれを実行します:Program.exe <1.in

ファイルからリダイレクトされた標準入力でデバッグを使用することは可能ですか?

私はすでにprocejtプロパティを調べてみました。 Commandを$(TargetPath)ではなく$(TargetPath)<1.inに設定してみました。また、コマンド引数を<1.inに設定してみました。これらの方法のいずれも機能しました。

Visual Studio 2012を使用しています。しかし、これはおそらくすべてのバージョンのスタジオで同じです。

16
user1930362

これはサポートされているデバッグシナリオです。デバッガーがファイルを見つけられることを確認する必要があります。コマンド設定は$(TargetPath)のままにします。コマンド引数設定の可能な値は次のとおりです。

 < "$(ProjectDir)test.txt"

入力ファイル「test.txt」がプロジェクトディレクトリにある場合。または、ファイルのフルパスを入力して確認してください。この機能について説明しているMSDNの記事は ここから入手できます です。

27
Hans Passant

プロジェクトにstdin.txtというファイルを作成します1)ビルドアクションをコンテンツに設定します2)出力ディレクトリにコピーします:新しい場合はコピーします

次に、ビルド時にstdin.txtが実行可能ファイルと同じフォルダーにコピーされます。

次に、プロジェクトのプロパティでdebug | command linearguementsに次の<stdin.txtを入力します。

パスマクロを使用する必要はありません

パスをいじりたくない場合は、new filesource filesフォルダを右クリックしてadd a solution Explorerし、そこに貼り付けることができます。必要なファイルのコンテンツ。次に、コマンド引数を新しいファイル名に変更します。

0
serj