Servlet日記(1999/02/07)

本日の成果

 世の中には「デバッガなんていらない」という人もいるようですが、私はまだまだそういう境地に達していないので、ソースコードデバッガがないと安心できません。「やかん本」を見ていると、デバッガの使い方が紹介されていたので、試してみました。

 私の場合、servletrunnerを次のようにして起動しているので、

c:\jsdk2.0\bin\servletrunner.exe -d c:\home\web\servlet\src -r c:\home\web\servlet\src

 デバッガを次のように起動すればよいようです。

jdb sun.servlet.http.HttpServer -d c:\home\web\servlet\src -r c:\home\web\servlet\src

 これで、例えばブレークポイントを stop in Hello.doGet のように指定すると、HelloクラスのdoGetメソッドの呼び出しで実行が中断します。ただしこの方法は、他のWebサーバでは使えないそうです(未だにservletrunnerしか使っていないので、確認していませんが)。

 ちなみにログを出力したいときは、javax.servlet.ServletContextのlogメソッドを呼ぶとよいようです(importしているので、単にlog("むにゃむにゃ")と書くだけです)。これで実行してみると、以前Servlet日記(1999/01/31)で、Hello: initが表示されたのと同じ形式で、Hello: むにゃむにゃ と表示されます。あの表示は、ログへの出力だったんですね。

本日の教訓

 servletのデバッグを行うには、servletrunnerを起動する代りに、sun.servlet.http.HttpServerを引数にしてデバッガで起動しよう。

Servlet日記(1999/02/06) Servlet日記の目次 Servlet日記(1999/02/10)