目指せ! Webアプリケーションエンジニア

第11回 アプリケーションを動かし,デバッグする

この記事を読むのに必要な時間:およそ 2 分

前回は,デバッグ環境の整備とアプリケーションのデプロイについて詳しく説明しました。これでアプリケーションを動かす環境が整いました。今回はWebアプリケーションサーバ上でアプリケーションを動かしデバッグする手順について,引き続きCosminexusを例にとって詳しく説明します。

アプリケーションを動かしてみる

例題アプリケーションとして,第2回第5回と同様に「Bank」アプリケーションを使用します。Bankアプリケーションでは,画面上で顧客のユーザIDと取引額を入力し[送金]ボタンをクリックすると,指定した顧客の当座預金口座から普通預金口座に,指定した金額が送金されます。口座の情報はデータベースで管理されています。

それではアプリケーションを動かしてみましょう。

①内蔵データベースを開始する

Bankアプリケーションではデータベースを使用するので,まず内蔵データベースが開始されているかどうかを確認します。プロンプトを起動し,⁠pdls」を実行します。内蔵データベースが開始されている場合は,図1のようなメッセージが表示されます。

図1 データベース開始メッセージ

図1 データベース開始メッセージ

開始されていない場合は,Windowsの[スタート]メニューの[すべてのプログラム(P)][Cosminexus][Application Development Plug-in][組み込みデータベースの開始]をクリックして開始します。

②J2EEサーバを起動しアプリケーションをデプロイする

MyEclipseの[パッケージ・エクスプローラー]ビューでBankアプリケーションを選択し,右クリックで表示されるコンテキストメニューの[デバッグ(D)][MyEclipseサーバー・アプリケーション]をクリックします。これでJ2EEサーバがデバッグモードで起動し,Bankアプリケーションがデプロイされます。

③アプリケーションを実行する

Webブラウザを起動して,次のURLを入力し,送信します。

Bankアプリケーションの初期表示画面が開きます(図2)⁠ユーザIDと取引額があらかじめ表示されているので,そのまま[送金]ボタンをクリックすると送金処理が行われます。

図2 Bankアプリケーションの初期表示画面

図2 Bankアプリケーションの初期表示画面

テストとデバッグ

テストではアプリケーションの品質を高めるために,あらかじめ決めたテスト項目に従ってアプリケーションを動かし,正しい結果が得られるか確認を行います。そして正しい結果が得られるまで,不具合(バグ)を1つずつ地道に取り除いていくのです。これがデバッグです。デバッグが必要な現象として,次のようなものがあります。

結果が正しくない
【例】画面の表示がデザインと異なる,実行結果に誤りがある,など
エラーが発生する
【例】メモリ例外,プロセスのダウン,プロセスのハングアップ,など

テストは,モジュールを一つ一つ独立してテストする単体テスト,複数のモジュールを組み合わせてテストする結合テスト,システム全体をテストするシステムテストの順に進めていきます。

デバッグモードではこうやってデバッグする

一般に,単体テストや結合テストでは,デバッグモードで実行してバグを見つけます。デバッグモードでは,ブレークポイントの設定やステップ実行などを行うことができます。

次のような手順でデバッグしていきます。

  • ① 実行を止めてプログラムの状態を確認したい場所に,ソースプログラム上でブレークポイントを設定する
  • ② アプリケーションを実行する
  • ③ ブレークポイントで実行が止まるので,その時点の変数の値などを確認する
  • ④ ステップ実行で1ステップずつ進めながら,変数の値の変化を確認する

このように,意図したとおりにアプリケーションが実行されているか確認しながら,バグを特定していきます。デバッグの様子を図3に示します。

図3 デバッグ画面

図3 デバッグ画面

なお,この機能を利用するために,アプリケーションに変更を加えたり,設定を変更する必要はまったくありません。

著者プロフィール

友成文隆(ともなりふみたか)

株式会社日立製作所

http://www.hitachi.co.jp/cosminexus/

コメント

コメントの記入