§2 トレース 2 vb2005 | プログラミング実習 [Menu] | |
【3】 VB独自の方法
VBの開発環境には、プログラムのトレースを支援する機能が用意されている。メニューバーの[デバッグ(D)]から利用できる機能について学習する。
○ ブレークポイントの設定/解除
ブレークポイントとは、プログラムの実行を一時的に停止(終了ではない)する場所のことである。一時停止したい行にカーソルを移動して、メニューバーから次のように選択するとブレークポイントの設定と解除が交互に行える。([F9]キーを押してもよい)
[デバッグ(D)] → [ブレークポイントの設定/解除(G) F9]
○ ステップイン
ステップインとは、プログラムを1命令ずつ実行する機能である。
メニューバーから次のように選択する。([F8]キーを押してもよい)
[デバッグ(D)] → [ステップイン(I) F8]
これらの機能を使ってトレースする。プログラムは「1から5までの和を計算する」を使う。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n As Integer, goukei As Integer '#0
For n = 1 To 5 '#1
goukei = goukei + n '#2
Next '#3
Label1.Text = "結果は、" & goukei & " です。" '#4
End Sub
(1) ブレークポイントを設定する。
@ コードウィンドウを開いて、カーソルを合計計算の行(#2)に移動する。
A [F9]キーを押す。 行が暗い赤色に変わる。
(2) プログラムを実行して、ボタン(Button1)をクリックする。
VBがアクティブになり、コードウィンドウが開く。ブレークポイントを設定した行がオレンジ色になる。この行を実行する前で停止している。
(3) マウスを変数nまたは変数goukeiの上に移動する。
(4) 実行を再開(続行)するため、[F5]キーを押す。
(5) 命令を1つだけ実行するため、[F8]キーを押す。
(6) プログラムを最後まで実行するため、ブレークポイントを解除する。
@ カーソルを合計計算の行(#2)に移動する。
A [F9]キーを押す。 結果→ 色が元に戻る。
B [F5]キーで実行を再開する。
○ ステップオーバー
ステップオーバーとは、メソッドの呼び出しに対してメソッドに移動しないで、プログラムを1命令ずつ実行する機能である。
メニューバーから次のように選択する。(Shift+[F8]キーを押してもよい)
[デバッグ(D)] → [ステップオーバー(O) Shift+F8]
この機能を使ってトレースする。プログラムは「1から5までの和を計算する」を変更して使う。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n As Integer, goukei As Integer
For n = 1 To 5
goukei = goukei + n
Next
hyouji(goukei) 'メソッド呼び出し
End Sub
Private Sub hyouji(ByVal atai As Integer)
Label1.Text = "結果は、" & atai & " です。"
End Sub
(1) ブレークポイントをメソッド呼び出しの行に設定する。
(2) プログラムを実行して、ボタン(Button1)をクリックする。
VBがアクティブになり、コードウィンドウが開く。ブレークポイントを設定した行がオレンジ色になる。この行を実行する前で停止している。
(3) [F8]キーを押して命令を1つずつ実行し、最後まで実行する。
実行順 コード 4 hyouji(goukei) 'メソッド呼び出し 5 End Sub 1 Private Sub hyouji(ByVal atai As Integer) 2 Label1.Text = "結果は、" & atai & " です。" 3 End Sub
(4) 最後まで実行してウィンドウが表示されたら、プログラムを終了する。
(5) もう一度、プログラムを実行して、ボタン(Button1)をクリックする。
VBがアクティブになり、コードウィンドウが開く。
(6) 今度は、Shift+[F8]キーを押して命令を1つずつ実行し、最後まで実行する。
実行順 コード hyouji(goukei) 'メソッド呼び出し 1 End Sub Private Sub hyouji(ByVal atai As Integer) Label1.Text = "結果は、" & atai & " です。" End Sub
メソッドに移動しない。これがステップオーバーである。
(7) 最後まで実行してウィンドウが表示されたら、プログラムを終了する。
このように、ブレークポイントとステップインの機能を使ってトレースすることができる。また、ステップオーバーの機能を使って誤りがないとわかっているメソッドのトレースを省略することもできる。
[F5] 実行の続行 [F8] ステップイン(命令を1つだけ実行する) Shift + [F8] ステップオーバー(メソッドも1つの命令として、1つだけ実行する) [F9] ブレークポイント設定/解除
停止中の変数の値はマウスを変数の上に合わせると表示される。
停止している行はオレンジ色で表される。オレンジ色の命令は、まだ実行されていないので注意すること。
§2 トレース 2 vb2005 | Copyright©2007 Hiroshi Masuda |