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