デバッグ

作成したソースコードをビルドすると、4つの共有ライブラリが生成されます。これらが Web アプリの実体です。TreeFrog のアプリケーションサーバ(APサーバ)は起動時にこれらを読み込み、ブラウザからのアクセスを待ちます。

この Web アプリをデバッグするのは、通常の共有ライブラリをデバッグするのと同じです。まずは、デバッグモードでソースコードをコンパイルしておきましょう。アプリケーションルートディレクトリで、次のコマンドを実行します。

 $ qmake -r "CONFIG+=debug"
 $ make clean
 $ make

デバッグでは、プラットフォームに応じて次の設定を使用します。

Linux / Mac OS Xの場合:

オプション
実行コマンド tadpole
コマンド引数 --debug -e dev (アプリケーションルートの絶対パス)
LD_LIBRARY_PATHの設定
(Mac OS X では不要)
Webアプリのlibディレクトリを指定

Windowsの場合:

オプション
実行コマンド tadpoled.exe
コマンド引数 --debug -e dev (アプリケーションルートの絶対パス)
PATH 変数 TreeFrog の bin ディレクトリ (c:\TreeFrog\x.x.x\bin) を先頭に追加
MySQL やPostgreSQLなどを使う場合はクライアントDLLのあるディレクトリも追加
TFDIR 変数 TreeFrog ディレクトリ(c:\TreeFrog\x.x.x)を設定

※ “x.x.x” はTreeFrog のバージョン

次で、これらの項目を設定していきましょう。

Qt Creator によるデバッグ

ここでは、Qt Creator を使ったデバッグを紹介します。他のデバッガでもやり方は基本的に変わらないと思います。 まず、アプリケーション設定ファイルにある MPM には thread を設定しておいてください。

 MultiProcessingModule=thread

アプリのソースコードを Qt Creator にインポートします。 [ File ] – [ Open File or Project… ] をクリックし、ファイル選択画面でアプリケーションルートにあるプロジェクトファイルを選択します。[ Configure Porject ]ボタンをクリックし、プロジェクトをインポートします。次は blogapp という名のプロジェクトをインポートする画面です。

Qt Creator インポート

※ 画像をクリックすると拡大します。

次はデバッグのための実行時の設定です。
tadpole コマンドの引数の末尾に、-eオプションとアプリケーションルートの絶対パスを指定します。-e オプションはDB環境を切り替えるのための設定でしたね。dev を指定することにします。

Linux の場合:
次は、アプリケーションルートに /var/tmp/blogapp を指定したときの画面です。

Qt Creator runenv

WIndows の場合:
上記の内容をビルド設定画面と実行時設定画面の2つで設定します。

ビルド設定の例:

ビルド設定の例

実行時の設定の例:

実行時の設定の例

以上で、設定は完了です。
あとは、ソースコードにブレークポイントを追加し、Webブラウザからアクセスしてみてください。

ブレークポイントで処理が止まりましたか?