VS2005では、デバッグ機能も充実している。Visual Studio.NET 2003では、いちどコードのプログラム実行を行うと、その後はコードの一部の変更でもいちど実行を止め、コード編集した後に実行し直す必要があった。
VS2005は、デバッグで一時停止中ならば、コードを書き換え、停止することなく、実行続行できる「エディットコンティニュ」機能が加わった。
エディットコンティニュ機能でコード変更できるのは、1. 停止中の場所(ブレークポイント)と同じブロック内、2. ブロックの制御の流れを変更しない、という2つを満たす場合のみである。このため大きな変更はできないが、実行時に気づいた小さなミスというのは多いものだ。十分に実用的な機能だといえるだろう。
デバッグ中に例外が発生した場合、そこで実行が一時停止中となるが、この時、どのように修正すればよいのかというヒントが表示されるようになった(画面6)。
なお、VB.NETの場合には、例外の種類によっては、画面5に示した場合と同じく、例外を直すための修正候補も表示される。
Visual Studio.NET 2003でも、デバッグで停止中に変数の近くにカーソルを合わせると、その変数の中身が表示されていた。しかし変数がオブジェクトを指している場合には、内容が表示されず、ほとんど役に立たなかっただろう。
VS2005では、変数がオブジェクトを指しているときには、メンバを展開して表示できるようになった(画面7)。
画面7の状態では、値を参照するだけでなく、変更することも可能だ。また変数が文字列である場合には、「テキスト形式」「HTML形式」「XML形式」のいずれかで整形し、別ウィンドウで表示する機能も備えている。
クラスを設計している場合には、そのクラスに実装したメソッドが正しく動作するかのみをを調べたいことがある。そのための機能として、「オブジェクトテストベンチ」がサポートされた。
この機能を使うには、クラスビューでインスタンスを作りたいクラスを右クリックし、[インスタンス作成]を選択する(画面8)。
|
するとオブジェクトテストベンチウィンドウが表示され、インスタンスが示される。このインスタンスを右クリックして、呼び出したいメソッドを指定すると、実行できるのだ。この際、メソッドの引数はダイアログボックスで問われる(画面9)。
メソッドに戻り値がある場合には、ダイアログボックスが表示され、それをオブジェクトテストベンチウィンドウ内にオブジェクトとして保存することもできる。呼び出し後は、オブジェクトテストベンチウィンドウ内のインスタンスにマウスカーソルを合わせることで、メンバ値を確認することも可能だ(画面10)。
Copyright © ITmedia, Inc. All Rights Reserved.