0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Visual Studio2022】コマンドライン引数をデバッグする方法

Last updated at Posted at 2025-11-26

コマンドライン引数を使ったコンソールアプリを作成する際、変更毎にビルドを行ってからBashなどで打ち込んで実行を行うのは、すこし手間がかかる作業です。
Visual Studio2022では、デバッグ実行時にコマンドライン引数を設定できる機能が備わっているため、開発を少し楽に行うことが出来ます。
本記事を読むことで、Visual Studio 2022 のデバッグ機能を使ってコマンドライン引数を設定し、argcと ``argv{{の挙動を確認できるようになります。

前提知識

  • コマンドライン引数コンソールアプリのことを知っている
  • Visual Studio2022を使用したことがある

上記の記事でコマンドライン引数について触れています。
まだコマンドライン引数について知らない方はこちらの記事に目を通すことを推奨します。

デバッグ実行でのコマンドライン引数の渡し方

本記事では、例として以下のC++コードにコマンドライン引数を渡します。

main.cpp
//---------------------------------------------------------------
//! @file  main.cpp
//! @brief コマンドライン引数のサンプルコード
//! @author つきの
//---------------------------------------------------------------
#include <iostream>
//---------------------------------------------------------------
//! @brief エントリポイントの関数
//! @param argc コマンドライン引数の個数
//! @param argv コマンドライン引数の配列
//! @return 0:正常終了  1:異常終了
//---------------------------------------------------------------
int main(int argc, char* argv[]) {
	// コマンドライン引数を表示、0番目はアプリケーション名
	for (int i = 0; i < argc; i++) {
		// 引数を表示
		std::cout << "argv[" << i << "] = " << argv[i] << std::endl;
	}
	// 正常終了
	return 0;
}

上部GUIプロジェクト->プロパティをクリックし、プロパティウィンドウを開いてください。
スクリーンショット (100).png
プロパティウィンドウの左側から、構成プロパティ->デバッグを選択し、ウィンドウ右のコマンド引数に任意のコマンドを入力し、OKをクリックし、プロパティウィンドウ適用をクリックしてください。

コマンド引数の項目にはアプリケーションの名前は含めず、argv[1]に当たる部分から入力してください。

Bash
$ CommandLineArgsTest.exe HelloWorld

の場合は、CommandLineArgsTest.exeの部分を省き、HelloWorldのみを入力してください。

スクリーンショット (101).png
上部GUIローカルWindowsデバッガーをクリックするか、F5キーの押下で、デバッグ実行を行ってください。
スクリーンショット (102).png

実行例

HelloWorld こんにちは世界 BonjourLeMondeの場合

Text
argv[0] = C:\中略\CommandLineArgsTest.exe
argv[1] = HelloWorld
argv[2] = こんにちは世界
argv[3] = BonjourLeMonde

つきのを フォロー してねの場合

Text
argv[0] = C:\中略\CommandLineArgsTest.exe
argv[1] = つきのを
argv[2] = フォロー
argv[3] = してね

総括

  • Visual Studio 2022では、プロジェクトプロパティ->デバッグ->コマンド引数に値を設定することで、デバッグ実行時にコマンドライン引数を渡せる機能が備わっている
  • argv[0]には自動的にアプリケーションの絶対パスが格納され、入力した値はmain(int argc, char* argv[])argv[1]以降に格納される
  • 空白区切りで複数の引数を渡すことができ、実際のコマンドライン実行と同じ挙動を再現できる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?