エディットコンティニュ

それでは、このバグを「エディットコンティニュ(エディット&コンティニューとも呼ばれます)」で修正してみましょう。エディットコンティニュとは、デバッグしている途中でコードを修正して、そのまま続けて実行できる機能です。まず、間違っていたコード「name + hello + "さん"」の部分を「hello + name + "さん"」と修正します。コードの修正が終わったら再実行するために、行頭の黄色の矢印をマウスで選択して、1行上にドラッグしてみましょう。

エディットコンティニュで、ドラッグしているところ

黄色の実行中の行が1つ上に戻りました。再び、[ステップイン](F11キー)でプログラムを1行実行してみます。

エディットコンティニュでコード修正した後のDataTips

DataTipsで表示してみると、message変数に「こんにちは。田中さん」と正しく設定されたことがわかります。 このエディットコンティニュには、実行中のメソッド以外のコードの修正は適用されないなどの制約はありますが、ちょっとした修正時にアプリケーションを再起動しなくて良いのでたいへん便利な機能といえます。

なお、プログラムをコードエディタで修正すると、その修正した行の先頭が縦長の黄色でマークされます。ファイルを保存すると黄色は緑色に変わります。この機能は、自分がコードのどの場所を変更して保存したのかを把握するときに役立ちます。

修正後の動作確認

バグの発見と修正が終わったので、最後に[続行]ボタン(F5キー)を押してプログラムをステップ実行から通常実行に戻します。

バグが取り除かれたアプリケーション

以上で、あいさつを表示するプログラムが正しく修正されたことを確認できました。

効率的にデバッグをするためには

デバッグが苦手と感じている方は、まずはステップ実行でコードの流れを追いつつ変数の値をチェックしてプログラムに慣れていけば良いでしょう。 そして、デバッグに慣れてきたら、早くバグを発見するために、まずどこに問題があるのかを考える習慣をつけてみると良いと思います。バグの内容を丁寧に確認すれば、怪しそうなコードを予想できるはずです。プログラム数が膨大なアプリケーションでは、やみくもにステップ実行していてもバグを発見することは困難ですので、ある程度の予測を立て、その問題にポイントを絞って動作をチェックすると効率的にデバッグできるでしょう。

まとめ

本稿では、Visual Studioのデバッガを活用すると、任意の場所でプログラムを止めることができ、少しずつ実行できることを紹介しました。また、変数の値を簡単にチェックでき、デバッグ中にコードを修正できることも紹介しました。これらの機能は、デバッグする時に良く使う便利な機能なので、ぜひ覚えておいてください。 後編では、実践的なアプリケーションを例にして、もう少し高度な機能について紹介していきます。