デバッグの仕方 2002年8月10日
あまり載ってないですよね。こういうの。

さて、タイトルからして怪しい(誤)のですが、
今回はデバッグの仕方について怪しく(誤)語ろうかと思います。

デバッグ作業の際、みなさんはどんなことをしてるでしょうか?
Debug.Printでイミディエイトウインドウに出力したり、
ウインドウに値を表示させて確認したり。。。

それもいいのですが、ブレイクポイントを使うとなかなか有効だったりします。
ブレイクポイントというのは、



こんにゃろうです。
何かの拍子に、茶色い○がついてしまって
そこのソースを一度削除して、もう一度書き直したという人はいませんか?































(。Д、゜)やっぱり俺だけですか














(。Д、゜)ノまぁ、いいんですよ。ヘルプもよく読まないで使ってますし。
だからこそ、デバッグの方法なんて知らないんですよねw


さて、この茶色いマル。どんな効果があるかといいますと、
処理を実行した時に、そこで処理を中断(ブレイク)してくれるんです。

一度処理を中断し、1ラインずつ処理の流れを見ていきたい。
そんな時、このブレイクポイントがものすごく役に立ちます。




やり方は簡単。ブレイクされたらF8を押す。これだけ。



こうすれば、1ラインずつプログラムの流れを見ていくことが出来ます。
どんなサブプロシージャが呼ばれ、どんな処理を行っているかが一目でわかります。


どんな処理を行っているかと軽く書きましたが、
処理がわかっても、変数や、計算結果などをリアルタイムに取得したいですよね。
画面に出したり、イミディエイトウインドウに表示させたり。
はたまたファイルに出力させてみたり。。。

いろんな方法がありますが、ブレイクポイントを立てている場合
ちょっと面白い方法があるのでご紹介します。

値を取得したい場所にブレイクポイントを立て、処理を中断します。
その後、イミディエイトウインドウに『?変数名、または計算式』と書き、Enterを押します。

例1) ?addDummy

例2) ?1 + 2 + 3 + 4 + 5 + 6

こうすることにより、イミディエイトウインドウに変数の値や、計算結果が出力されます。
丁寧に値を取得したい時にぴったりだと思います。


いらないとは思いますが、サンプルを作ってみました。
デバッグ論

こんなわけわからないサンプルを公開するとは思いませんでした。(^^;)




















BACK