VS2022 は大変強力なデバッガを搭載しています。全てを説明するには無理がありますが、これから C言語を学ぶ上で、この使い方を知っておくとラクが出来る機能に関して、説明しておきます。
--
いきなりここに飛んで来ちゃった人は、よろしければ下記からご覧ください。
C言語基礎講座インデックス


  • ブレークポイント
プログラムを実行すると、もの凄いスピードで処理が行われています。そこで、任意の場所で停止して状況を確認出来たら便利ですよね。それがブレークポイントです。実行を中断したい場所にマウスでカーソル位置を持って行き、[F9] ボタンを押します。行頭に赤い丸が付いたら、ブレークポイントが設定された事になります。※ これを「ブレークを張った」と言います。
C002ブレークを張った
この状態で [F5] を押して実行させてみます。赤丸の位置に黄色の矢印が出て処理が止まります。黄色の矢印は、現在処理を実行している場所を示しています。
C002停止した
ただ、これだけだと停止させたメリットが分からないですよね。プログラム内容の説明は次回以降となりますが、とりあえず、以下のプログラムを入力してください。

#include "stdio.h" int main() { int a = 5; int b = 10; int c = b / a; }
そして、この位置にブレークポイントを張ります。
C002サンプル2
ブレークポイントが張れたら [F5] で実行します。プログラムの処理が停止したら、VS2022 の下の方を見てください。VS2022 の一番下の方、自動というタブの場所変数の内容が表示されています。
C002自動
このように、ブレークポイントを張る事で、その時の変数の値などの状態を確認する事が出来るのです。

 c の値がおかしいのは初期化されていないためです。初期化されていない変数の値は不定となります。停止した状態から、もう一度動作を再開するには [F5] キーを押します。実行を止める場合は、[Shift] + [F5] または、VS2022 のツールバーにある■ボタンをマウスクリックします。


  • ステップトレース
今度はブレークポイントの位置をこちらに設定してください。ブレークポイントを張ってある場所で [F9] をもう一度押すと解除になります。ブレークポイントがない場所で [F9] を押すと設定されます。
C002ブレークポインタの位置を変更
この状態で [F5] を押して実行します。ブレークポイントで停止します。
C002自動1
自動に a が表示されています。内容は不定なのが見えます。ここで、[F10] を押します。すると…
黄色矢印が移C002動
黄色矢印の場所が一つ下に移動しました。これは int a = 5; の一行が実行された事を示しています。これがステップトレースです。プログラムを1行ずつ動かして挙動を確認できるというわけです。1行動いた結果、自動は以下のように変化しました。
C002自動2
a に 5 が代入されました。また、次の変数宣言として b が出てきています。もう一度 [F10] を押すと次の1行が処理されます。b の値が正常化され、c という変数が用意された事が分かります。
C002自動3


  • 変数の確認
自動は VS2022 が現在プログラマが知りたいであろう変数の値を、そこそこ自動で表示してくれる便利なウィンドウです。処理の結果、前回から値が変化したら赤色で表示されます。また、値の部分をマウスでダブルクリックすると、任意の値に書き換える事が出来ます。デバッグなどで、本来の値以外を入れたらどういう動作になるのかの確認とか、ループ数を大きくしてデバッグ結果を早く知りたいなど、使いどころはかなり多いです。

ローカルは、現在実行している関数内のローカル変数の状態を確認できます。初期化前の状態などを見たい時は、このローカルの方が便利かもしれません。この例だと、a,b,c 全ての変数の初期化前の状態が見えています。
C002ローカル
さらに隣のウォッチは、特定の変数の値を追いかけたい場合に使用します。項目をウォッチに追加するをダブルクリックして、自分で変数名を入力するか、編集エリアからマウスで名前の位置に追いかけたい変数をドラッグすると登録されます。
C002ウォッチ
項目削除はマウスで項目選択して後で [DEL] を押します。

とりあえず、これだけ知っておくと便利です。大規模プロジェクトになると、呼び出し履歴もかなり有効なデバッグ機能となります。今は、なんじゃこりゃという状態かもしれませんが、こういう使い方が出来るってのは、次回以降のプログラム入力でステップトレースで確認してもらえると理解が早いと思います。

>> C言語003 プログラムの全体構造に進む
>> C言語基礎講座インデックスに戻る
猫でもわかるC言語プログラミング 第3版 (猫でもわかるプログラミング)
粂井 康孝
SBクリエイティブ
2013-05-29
※ 私の講座を読んだ後で該当箇所の項目を読み直すと分かりやすいかもしれません。