Debug
ヘボなプログラマーでもデバッグ環境があればそれなりに仕事を進めることができます。また、ソースを見ても理解できないようなときデバッガーを使って何をやっているのかを理解することができます。デバッガーがないと大変な経験をしました。対象はZ80拡張CP。言語はアセンブラ。設計書なし。おまけにソースが汚い!最悪の状況です。デバッガーなしてどうやって私語をを遂行したのかというと、ソースをこう変えたら、出力はこうなるはずだ。この方法で元の仕様?をリバースエンジニアリングしてから、今回求められた仕様を実装しました。はっきり言って非効率の極みです。
Visual Souce CodeはC/C++以外にもデバッグすることができます。デバッガーに求められる最低の機能は、
・ブレークポイントで停止する
・任意の場所にブレークポイント設定できる
・変数の値を表示できる
Pythonにおいてこれらの機能をVisual Source Codeは持っています。それではサンプルプログラムでデバッグをしてみます。
main.py
 
# -*- coding: utf-8 -*-
g_strName = 'Hana'
g_nAge = 28

def main():
    str_a = 'Hello'
    str_b = ' world.'
    str_c = str_a + str_b + g_strName
    print (str_c)
    
    a = 3.14
    b = 10
    c = a + b
    print (c)
    ba = True
    bb = True
    bc = ba & bb + g_nAge
    print (bc)
    bc = ba + bb
    print (bc)

if __name__ == "__main__":
    main()
		
ブレークポイントの設定のしかた

マウスカーソルを行番号の左に置き左クリックすると赤い丸が付きます。赤い丸が付いている行はブレークポイントです。

デバッグの開始
[Run]-[Start Debugging]またはF%キーでデバッグを開始します。
次にブレークポイントで停止します。

9行目で止まっています。
変数が左側に表示されています。
Localsはmainないのローカル変数です。
Globalsはグローバル変数です。
ステップ実行ができるので1行ごとに実行して変数がどのように変わるか?などを確認することができます。
以上説明したことだけでも十分役立ちます。
これ例では不適切な演算をしています。どうなるか?ご確認ください。