前回の投稿から1年空いてしまいました。今回はブレークポイントの続きについて書きたいと思います。
前回の続きでtest_c.cを使います。
ソースコードは下記のとおりです。
#pragma warning(disable: 4996) #include <stdio.h> int main(int argc, char* argv[]) { int i , g , n , m; scanf("%d %d", &n, &m); for (i=0 , g=1 ; i<m; i++){ g *= n; } printf("%dの%d乗は%dです。\n", n, m, g); return 0; }
詳しくは前回の記事をご覧ください。
Visual Studio 2019 でC言語を勉強する方法①
プログラムの実行中に処理を一時的に止めたい行の番号の左隣をクリックして赤丸を表示させます。この赤丸がブレークポイントが設定されていることを表します。
この状態で上のほうにある緑の三角の”ローカルWindowsデバッガー”ボタンをクリックします。
プログラムの実行と共にコマンドプロンプトが起動します。そしてプログラムの最初の方にscanfがあるので、入力待ちの状態になります。
”5 2″と入力してEnterキーを押します。するとVisual Studio 2019(以下VS2019)のブレークポイントを設定した行の左端の赤丸に黄色い矢印が付いているのが確認できます。
これはブレークポイントを設定した行の手前でプログラムが一時停止していることを意味します。
図ではまだ「g *= n;」は実行されていません。
この状態で変数gの値を見てみます。
変数gの上にマウスカーソルを持っていくと変数gの値が表示されます。
図では画面キャプチャーを取るためにctrlボタンを押した際、変数gの値の表示が薄くなってしまうので見えにくいですが、確かに変数gは1であることが分かります。
もう一つの方法は、変数gをドラッグして反転させ、右クリック→”クイックウォッチ”をクリックする方法です。
そうすると変数gの値が1であることが分かりやすく表示されます。
1行実行してみましょう。クイックウォッチを閉じてF10キーを押します。
黄色い矢印が1行進みます。
その状態でもう一度変数gの値を確認してみると今度は5になっています。値が1だった変数gはg *= n(n=5)を実行して値が5に変化しました。
このようにブレークポイントを使うと、変数の値がどのように変化しているかを知ることができます。ブレークポイント機能はプログラムがうまく動かない場合、どこで値がおかしくなっているか、正しくセットされていないかを知るときによく使われます。
上の緑の三角の”続行”ボタンをクリックするか、F5キーをクリックすると次のブレークポイントがある行の手前まで処理を続行します。
ブレークポイントの解除はブレークポイントを設定していることを示す赤丸をクリックします。赤丸が消えればブレークポイントは解除されています。
いかがでしたでしょうか。ブレークポイント機能はとても便利な機能なのでぜひ使ってみましょう。