どうも、ハワイ在住のニホンザル、py-pauです。プログラミング言語pythonの勉強をしています。
日々の学習内容や、ハワイの様子など、備忘録的にまとめていこうと思います。
プログラミング初心者の文系人間なので、おかしなことを書いてる可能性が、控えめに言って120%くらいありますので、
変なことを書いてましたら、指摘、助言、罵倒、嘲笑をお願いします。
・・・・・・・・・・・
英語って、ものすごくアタマの悪い言語だ、って思ったことありません?
以下、私が使っている教本、”Murack's Python Programming”から引用します。
”Most programmers use an integrated development environment (IDE) because an IDE usually helps you get more done in less time. <中略> for this book, we recommend using IDE named IDLE.. <中略> the name of this IDE is the same as the last neme of Eric Idle, a sly reference to one of the founding members of the Monty Python comedy group.”
IDLEっていう名前のIDEの使用を進めているわけですが、、、
IDLEという名前のIDE IDLEという名前のIDE IDLEという名前のIDE IDEという名前のIDLE IDLEという名前のIDE
アルファベット一つ一つに意味がない以上、英語の略語って限界があると思うんです。
すでにあるにはあるらしいですが、漢字を用いたプログラミング言語が世界を席巻したりしないかなぁ
日本や中国を中心に漢字の言語がはやり、西欧のプログラマーたちが漢字に悪戦苦闘する姿、見たくありません?
・・・・・・・・・・・・・・・・・・
さて本題。今日はデバッグのやり方や概念について学びました。
前回書きましたが、私が普段使ってるエディタはVSCodeなのですが、今回はIDLEを使います。
教本に、「どれも同じようなもんだから、とりあえずIDLEでやってみ」的なことが書いてあったので、ちょっと寄り道してみます。
{デバッグの方法}
デバッグには大きく分けて2通りの方法があり、
・一行一行プログラムを実行しながら確認する方法
・「なんかココあやしくね?」というところを決めて、決められた場所を確認する方法
がある、とあります。
{デバッグの手順}
まず、IDLEを起動するとインタラクティブシェルがきどうするので、エディタを開く必要があります。
この際、ターミナルで実行するときと同じように、ファイルを保存していないと実行されません。
次にシェルの画面に戻り、Debug>Debuggerを選択し、デバッガーを起動します。
次にエディタに戻り、「Run」タブの「Run Module」を選択します。
するとデバッガーの画面の操作ボタンがアクティブになり、以下のような画面がでます。
デフォルトでは”Source”, "Globls"のボックスがチェックされていないので、チェックします。
で、ここから左上の操作ボタンをつかってデバッグするわけですが、当然それぞれに違いがあります、
慣れるまでちょっとかかりそう。
{デバッガーの操作}
<Go> ブレイクポイント(後述)がある地点までプログラムを実行します
<Step> 次の行のコードを実行し、関数の呼び出しがあった場合、その関数の中に入ってデバッグを続ける
<Over> 次の行のコードを実行し、関数の呼び出しがあった場合、その関数をすべて実行してしまう。
<Out> Stepで関数の中に入った場合に、その関数のデバッグを一気に終了して、関数外に出る。
<Quit> デバッグ終了。お疲れ様です。残りのコードは実行されない
デフォルトの状態からOverをクリックしていくと、その時点での変数の値などが下に表示されて、「あ、ここでこの変数が変化してないってことは、ここがおかしいんだ!」っていう風にわかるって寸法です。なるほど。
{ブレイクポイント}
「この辺ちょっとあやしくね?」ってとこがあった場合に、エディタの該当箇所を右クリックして、ブレイクポイントを作成します。
そうするとこんな感じでハイライトしてくれます。
この状態で先ほどのようにデバッガーを起動し、Goをクリックすると、このブレイクポイントの地点までコードを実行し、その前とそのあとで変化を見ることができます。あったまいい
・・・・・・・・・・・・・・・・・
今回のお勉強はココまで。
まだテキトーに書いたプログラムしかデバッグしてないので、いろんなプログラムで試してどんな動きをするのか見てみたいです。
シェルとエディタ、それとデバッガーを一度に操作することになるので、その辺整理しながらやると効率的かもしれないです。
セカンドスクリーン、買ってよかった。
だんだんプログラム書いてるってフンイキが出てきましたよ!
ではまた次回、お読みいただけると幸いです。
ツイッターもやってますので、宜しければフォローお願いします。