vc-2. Visual Studio C++ のデ
バッガー
Visual Studio C++ の機能と操作演習,
5回)
1
金子邦彦
https://www.kkaneko.jp/cc/vc/index.html
目次
2-1. デバッガーの機能
2-2. ステップオーバー機能
2-3. 数の変化,プログラム実行の流
2
2-1 デバッガーの機能
3
2-1 デバッガー
デバッガーとは、プログラムの不具合(バグ)の発
見や修正を支援するソフトアのこと
4
主な機能
ブレークポイント機能: プログラムの実行中断
トレース機能: プログラム実行中に変数の値などを表示
バグを自動的に取り除いてくれるわけではない
Visual Studio 2015 でのブレークポイント設
定手順
5
ブレークポイントとは、
プログラムの実行中断
させたい行.複数設定可
ブレークポイント解除したい
ときは赤丸をクリック
同様の操作で、ブレークポ
イント設定もできる
return 0;」の行を
スでクリック
「デバッグ」
ブレークポイント
の設定/解除
ブレークポイン
トが設定されるの
確認
赤丸
Visual Studio 2015 でのデバッガー起動手順
6
ブレークポイントが設定され
た状態で、デバッガーを起動
しよとしている
形が変化! これは、プログ
ラムの実行が、ここで中断
ていることを示す
「デバッグ」
デバッグの開始
パソコン演習
Visual Studio 2015 で「return 0;」の行にブレーク
ポイントを設定しなさい
Visual Studio 2015 でデバッガーを起動しなさい.
return 0;」の行で、実行が中断することを確認
しなさい
あとで使ので、中断したままにしておくこと
7
2-2 ステップ実行機能
8
2-1 ステップ実行機能
ステップ実行機能を使とで、
変数の値の変化
変数名と値の対応表
メモリ中のデータの変化 ダンプリスト形式
9
変数 xの値が 0から 3変化
<ステップ実行機能で表示できる>
ステップ実行の種類
ステップオーバー F10キー
プログラム実行を1行進める.関数の中に入らない
ステップイン F11キー
プログラム実行を1行進める.関数の中に入る
ステップアShift F11キー同時押し
関数の外に出る
10
関数」は、
プログラミング言語の関数のこと
Visual C++ のソースファイル例
11
自動生成されたプログラムを活用(4行追加するだけ)
行追加
Visual C++ のソースファイル例
12
static int x, y, z;」の「static」は、変数 x, y, z のメモリ
への格納法をコントロールするキーワード
変数 x に値 3 をセット
変数 yに値 4をセット
x の値を足して
結果を zに格納
変数の値の変
13
この行で、 xの値は 3に変化
この行で、 yの値は 4に変化
この行で、 zの値は 7に変化
パソコン演習
Visual Studio 2015 を起動しなさい
Visual Studio 2015 で、Win32 コンソールアプリ
ケーション用プロジェクトを新規作成しなさい
14
プロジェクトの「名前」は何でもよい
ステップオーバー機能
Visual Studio 2015 Win 32 コンソール
アプリケーション用プロジェクトの新規作
(1/2)
15
「ファイル」
「新規作成」
プロジェクト
Visual C++
Win32コンソールア
プリケーション
OK
「次へ」
次ページに続く
Win32コンソールアプリケーションとは,起
動すると,Win32コンソー(例えば右図)
が開くアプリのこと
名前は変えなくてもよい
Visual Studio 2015 Win 32 コンソール
アプリケーション用プロジェクトの新規
(2/2)
16
完了」をク
リック
プロェクトが新規
作成されるので確認
Visual Studio 2015 Win 32 コンソールアプ
リケーション用プロジェクト
17
ソースファイルを
クリックすると
エディタが
自動で開く
編集中のファイル名が表示
Win32 コンソールアプリケーション用プロジェクトを新
規作成したとき、エディタが自動で開くので、そのまま
使ってよい
Visual Studio 2015 のエディタを使って、ソース
ファイルを編集しなさい
18
行追加
ビルドしなさい.ビルドのあと「1 正常終了、
失敗」の表示を確認しなさい
表示されなければ、プログラムのミスを自分で
確認し、修正して、ビルドをやり直す
19
Visual Studio 2015 で「x = 3;」の行に、ブレーク
ポイントを設定しなさい
20
x = 3;」の
スでクリック
「デバッグ」
レークポイントの設定
/解除
ブレークポイントが設定さ
れるので確認
赤丸がブレークポイントの印
Visual Studio 2015 で、デバッガーを起動しなさい.
x = 3;」の行で、実行が中断することを確認しな
さい
あとで使ので、中断したままにしておくこと
21
「デバッグ」
デバッグの開始
x = 3;」の行で実行が
中断している
x = 3;」の行で、実行が中断した状態で、変数の
値を表示させなさい.手順は次の通り.
22
x = 3;」は未実行
ることを確認!
「デバッグ」
インド
ローカル
変数名と値の対応表
表示される
変数 x, y, z の値はすべて
1回だけステップオーバーの操作を行い、変 x
の値が 3 に変化することを確認しなさい.
23
x = 3;」が実行された
「デバッグ」
ステップオーバー
(あるいは F10 キー
変数 x の値が 3 に変化!
1回だけステップオーバーの操作を行い、変
y の値が 4 に変化することを確認しなさい.
24
y = 4;」が実行された
変数 y の値が 4 に変化!
「デバッグ」
ステップオーバー
(あるいは F10 キー
1回だけステップオーバーの操作を行い、変
z の値が 7 に変化することを確認しなさい.
25
z = x + y;」が実行された
変数 z の値が 7 に変化!
「デバッグ」
ステップオーバー
(あるいは F10 キー
最後に、プログラム実行の続行の操作を行いなさ
い。これで、デバッガーが終了する。
26
「デバッグ」
続行
2-3 変数の変化,プログラム
実行の流れ
27
繰り返しの例
28
x
y
3
5
2
1
2
2
36
60
24
12
24
24
Visual C++ のプログラム
iの値は 0 1234 5
変化し,全部済んだら終わる
繰り返す処理
パソコン演習
Visual Studio 2015 を起動しなさい
Visual Studio 2015 で、Win32 コンソールアプリ
ケーション用プロジェクトを新規作成しなさい
29
プロジェクトの「名前」は何でもよい
Visual Studio 2015 のエディタを使って、ソース
ファイルを編集しなさい
30
6行追加
ビルドしなさい.ビルドのあと「1 正常終了、
失敗」の表示を確認しなさい
表示されなければ、プログラムのミスを自分で
確認し、修正して、ビルドをやり直す
31
Visual Studio 2015 で「for (i = 0; …」の行に、ブ
レークポイントを設定しなさい
32
for (i = 0;」の行
をマスでクリック
「デバッグ」
ブレークポイントの
設定/解除
ブレークポイントが
設定されるので確認.
赤丸がブレークポイン
トの印
Visual Studio 2015 で、デバッガーを起動しなさい.
for (i = 0;」の行で、実行が中断することを確
認しなさい
あとで使ので、中断したままにしておくこと
33
「デバッグ」
デバッグ開始
for (i = 0; 」の行で実行が
中断している
for (i = 0;」の行で、実行が中断した状態で、
変数の値を表示させなさい.手順は次の通り.
34
次ページに拡大図
「デバッグ」
インド
ローカル
変数名と値の対応表が
表示される
35
y[i] = x[i] * 12;」は
未実行であることを確認!
変数 iの値は、変な値に
なっているはず
ステップオーバーの操作を1回ずつ行いながら、
実行の流れを確認しなさい.
36
「デバッグ」
ステップオーバー
(あるいは F10 キー)
最後に、プログラム実行の再開の操作を行いなさ
い。これで、デバッガーが終了する。
37
「デバッグ」
続行
パソコン演習
Visual Studio 2015 を起動しなさい
Visual Studio 2015 で、Win32 コンソールアプリ
ケーション用プロジェクトを新規作成しなさい
38
プロジェクトの「名前」は何でもよい
Visual Studio 2015 のエディタを使って、ソース
ファイルを編集しなさい
39
追加
ビルドしなさい.ビルドのあと「1 正常終了、
失敗」の表示を確認しなさい
表示されなければ、プログラムのミスを自分で
確認し、修正して、ビルドをやり直す
40
Visual Studio 2015 で「s = 0;」の行に、ブレーク
ポイントを設定しなさい
41
s = 0;」の行
スでクリック
「デバッグ」
ブレークポイント
の設定/解除
ブレークポイントが
設定されるので確認.
赤丸がブレークポイン
トの印
Visual Studio 2015 で、デバッガーを起動しなさい.
s = 0;」の行で、実行が中断することを確認しな
さい
あとで使ので、中断したままにしておくこと
42
「デバッグ」
デバッグの開始
s = 0;」の行で実行が
中断している
黄色の
矢印
s = 0;」の行で、実行が中断した状態で、変数の
値を表示させなさい.手順は次の通り.
43
変数の値がおかしい
これは正しい動
今の時点では,
s= 0;」は未実行である
ことを確認!
「デバッグ」
インド
ローカル
変数名と値の対応表が
表示される
ステップオーバーの操作を1回ずつ行いながら、
実行の流れと、変数 s, i の値の変化を確認しな
い.
44
「デバッグ」
ステップオーバー
(あるいは F10 キー)
45
さらに続ける
最後に、プログラム実行の再開の操作を行いなさ
い。これで、デバッガーが終了する。
46
「デバッグ」
続行