§2 トレース 2 vb2005 プログラミング実習 [Menu]
 back next 

【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の上に移動する。

結果 変数の値が表示される。図は変数nの場合である。
  変数nの値=(  )、 変数goukeiの値=(  )

(4) 実行を再開(続行)するため、[F5]キーを押す。

結果 ブレークポイントで停止する。
  変数nの値=(  )、 変数goukeiの値=(  )

(5) 命令を1つだけ実行するため、[F8]キーを押す。

結果 Nextの行(#3)がオレンジ色になる。この行を実行する前で停止している。
  変数nの値=(  )、 変数goukeiの値=(  )

(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] ブレークポイント設定/解除

 停止中の変数の値はマウスを変数の上に合わせると表示される。
 停止している行はオレンジ色で表される。オレンジ色の命令は、まだ実行されていないので注意すること。



 back next 
 §2 トレース 2 vb2005 Copyright©2007 Hiroshi Masuda 
inserted by FC2 system