Visual Studioでのコマンドラインパラメーターを使用したデバッグ


513

Visual StudioでC ++コマンドラインアプリケーションを開発していますが、コマンドライン引数を使用してデバッグする必要があります。現時点では、生成されたEXEファイルを必要な引数(program.exe -file.txtこのように)で実行していますが、この方法ではデバッグできません。デバッグ用の引数を指定できる場所はありますか?


回答:


754

はい、プロジェクトのプロパティページの[ デバッグ]セクションにあります。

Visual Studio 2008以降:プロジェクトを右クリックして[ プロパティ ]を選択し、[ デバッグ]セクションに移動します。「コマンド引数」のボックスがあります。(ヒント:ソリューションではなくプロジェクト)。


296
Stackoverflowは、使用可能な唯一のMSドキュメントです!
Martin Beckett

12
気をつけて。これにより実際のプロジェクトファイルは変更されませんが、代わりにvcxproj.user-fileが変更されます。
TheTrowser、

注:ソリューションにマルチプロジェクトがある場合は、実行するプロジェクトを右クリックし、[スタートアッププロジェクトとして設定]を忘れないでください。
Lion Lai

1
見つけて。しかし、VS2017では明らかに「デバッグ」ではなく「デバッグ」と呼ばれています。理由はわからないかもしれません。
OmarL 2017年

3
プロパティページの上部にあるドロップダウンで正しい構成が選択されていることを確認してください。つまり、実行しようとしている構成と同じ構成です。
スティーブ・スミス

55

Windows上でMozillaをデバッグする上Mozilla.orgよくある質問はここに重要です。

つまり、Visual Studioデバッガーはコマンドラインからプログラムで呼び出すことができ、コマンドラインプログラムを呼び出すときに、コマンドラインで直接コマンドライン引数を指定できます。

これは、Visual Studio 8または9の場合は次のようになります(それぞれVisual Studio 2005またはVisual Studio 2008)。

  devenv / debugexe 'プログラム名' 'プログラム引数'

Visual Studioデバッガーでプログラムを開始するエクスプローラーアクションを持つこともできます。


17

Visual Studioの外部で実行可能ファイルを開始した場合でも、「アタッチ」コマンドを使用してVisual Studioをすでに実行中の実行可能ファイルに接続できます。これは、たとえば、アプリケーションが別のアプリケーション内でプラグインとして実行される場合に役立ちます。


はい、添付しCtrl+Alt+Pます(または、[デバッグ]> [プロセスに添付...]をクリックします)。しかし、これは実際にはOPの質問には答えません;)
T_D

7

Microsoft Visual Studio Ultima 2013。

あなただけ→DEBUG]メニューに行くことができる主なプロパティ構成プロパティデバッグしてから、コマンドライン引数のボックスが表示されます。

実際には、デバッグだけでなく、すべての異なる構成に同じ入力引数を設定できます。

構成のプルダウンメニューから[すべての構成]を選択し、入力引数(スペースで区切られた各引数)を挿入します。

これで、毎回入力引数を変更する必要なく、さまざまなモードでプログラムを実行できます。


MS VS 2015でも同様に機能します。「Debug-> {projectname} properties」に進む前に、デフォルトで「Debug」と「Release」を含むドロップダウンからアクセス可能な「Configuration Manager」を開く必要がありました。新しい「構成」アイテムを追加できるウィンドウがポップアップしました。これらの項目は、「デバッグ-> {プロジェクト名}プロパティ」で使用できます。
AMartinNo1 2016年

2

これはまだ問題がある一部の人々を助けるかもしれません。Visual Studio 2015を使用していて、の定義を変更したときにのみ引数を渡すことができましたargv

の代わりに

int main(int argc, char **argv){
}

私は使用しなければなりませんでした

int main(int argc, char *argv[]){
}

なぜ必要だったのかはわかりませんが、うまくいきます。


これは何ですか?C ++ネイティブ?C ++マネージド(.NET)?
Peter Mortensen

同じ問題がありましたが、上記の両方の宣言が機能しませんでした。私が64ビットマシンで作業しているため、ソリューションによってプラットフォームがx86から​​x64に変更されました。
hfrmobile

2

.NET Coreコンソールアプリケーションを備えたVisual Studio 2017 では、次の操作を行います。

ソリューションウィンドウでプロジェクトを右クリックし、[プロパティ]、[ デバッグ](左側)を選択して、[ アプリケーションの引数]フィールドに引数を入力します。

スペースで区切る必要があることに注意してください。


1

Visual Studio 2010で、プロジェクトを右クリックして[ プロパティ ]を選択し、左側のペインで[構成プロパティ]セクションをクリックしてから、[ デバッグ ]をクリックします。次に、右側のペインにコマンド引数のボックスがあります。

その中にコマンドライン引数を入力します。準備できた。デバッグして結果を確認します。プロパティの変更にうんざりしている場合は、一時的にプログラムに直接入力してください。


1

Visual Studioのソリューションウィンドウでプロジェクトを右クリックし、左側の[ デバッグ]を選択して、[ コマンド引数]フィールドに引数を入力します。

ここに画像の説明を入力してください


1

VS 2015以降では、Smart Command Line Arguments拡張を使用します。このプラグインは、引数をオンまたはオフにできるウィンドウを追加します。

スマートコマンドライン引数インターフェイス

拡張機能は、JSONファイルに引数をさらに格納し、それらをソース管理にコミットできるようにします。毎回すべての引数を入力する必要がないことを保証することに加えて、これは、他の開発者が利用可能なオプションを発見するためのドキュメントへの有用な補足として役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.