【Python】printデバッグから卒業!一行ずつ実行できる「デバッガ」の基本
プログラムがうまく動かない時、原因を特定するためにprint()文をコードのあちこちに挿入して、変数の値を確認する…。これは有効な手段ですが、コードが汚れたり、後で消し忘れたりと、あまり効率的ではありません。
こうした「バグ探し」の作業を、より強力かつ体系的に行うための専門ツールが**「デバッガ」**です。デバッガは、VS Codeなどの多くのエディタに標準で搭載されており、プログラマの必須スキルの一つです。
◆ デバッガの2大機能 デバッガの強力さは、主に2つの機能に集約されます。
1. ステップ実行:プログラムを一行ずつ、スローモーションで追う デバッガを使うと、プログラムを一行実行しては一時停止、という「ステップ実行」ができます。最大のメリットは、一行進むごとに、その時点での全ての変数の状態を覗き見できることです。 print文をいちいち書かなくても、変数の値がいつ、どのように意図しない値に変わってしまったのかを、手に取るように追跡できます。
2. ブレークポイント:見たい場面に一瞬でジャンプ 長いプログラムを最初から一行ずつ実行するのは大変です。**「ブレークポイント」**は、コードの特定の行に設定する「一時停止の目印」です。 デバッガでプログラムを開始し、「Continue(続行)」を押すと、プログラムはブレークポイントまで一気に実行され、そこでピタッと停止します。これにより、バグが潜んでいると疑われる箇所の直前まで、瞬時にジャンプすることができます。
◆ 具体的なコードと解説はブログで 「input()で数値を入力したのに、足し算がおかしくなる…デバッガなら、なぜ?」 「ループの500回目でだけ、変数の値を確認したい場合はどうするの?」
私のブログ**「森の株」**では、よくあるバグ(数値を文字列として足してしまう)を、デバッガのステップ実行で追跡して原因を特定する過程を、具体的に解説しています。また、ブレークポイントを使った効率的なデバッグ方法についても紹介しています。
▼詳しいサンプルコードと解説はこちら Pythonデバッグ入門:デバッガのステップ実行とブレークポイント
最後までお読みいただき、ありがとうございました。
