第6章 動作確認
6.2 対話型デバッガで動作確認する
109
6.2 対話型デバッガで動作確認する
デバッガを使用してCOBOLで作成したWebアプリケーションをデバッグするには、デバッグしたい プログラムからデバッガを起動する方法を使用します。
リモートデバッガを使用して、Webブラウザを起動しているクライアントからWebアプリケーショ ン を リ モ ー トで デ バ ッ グ する こ と も 出 来ま す 。 リ モ ート デ バ ッ ガ の使 い 方 に つ いて は 、
“NetCOBOL 使用手引書”を参照してください。
6.2.1 CGIアプリケーションの動作確認
デバッガを使用してCGIアプリケーションをデバッグを開始するには、以下の手順で行います。
1. Webアプリケーションを翻訳・リンクします。
デバッグを行うための翻訳オプションおよびリンクオプションを指定して、Webアプリケ ーションを作成します。デバッグを行うための翻訳およびリンクの方法については
“NetCOBOL 使用手引書”を参照してください。
2. 環境変数を設定します。
デバッグしたいプログラムからデバッガを起動するために、あらかじめ次の環境変数を設 定しておく必要があります。
― CBR_ATTACH_TOOL=[起動オプション]
デバッガを使用することを指定します。起動オプションには、実行形式ファイル名以 降を除くsvdコマンドのオプションを指定します。起動オプションについては、
“NetCOBOL 使用手引書”を参照してください。
スクリーンモードでデバッガを起動する場合は、環境変数CBR_ATTACH_TOOLの起動 オプションに-wオプションを必ず指定してください。ラインモードでデバッガを起 動する場合は、環境変数CBR_ATTACH_TOOLの起動オプションに-rオプションを必ず 指定してください。
実行時のコード系がUnicodeの場合や、デバッガをラインモードで起動する場合は、
環境変数SVD_TERMを設定しておく必要があります。
デバッグしたいプログラムからデバッガを起動する場合、デバッグ情報ファイル格 納ディレクトリなどの必要な情報は、あらかじめ環境変数CBR_ATTACH_TOOLの起動 オプションに指定しておく必要があります。
― DISPLAY=[host]:server[.screen]
デバッガのウィンドウを表示するディスプレイを指定します。
Webアプリケーションが動作するホストにデバッガのウィンドウを表示する場合は、
以下のように指定します。
DISPLAY=:0
環境変数DISPLAYについては、X Window Systemのマニュアルまたは参考書を参照し てください。
― SVD_TERM=Xウィンドウ端末エミュレータ
ラインモードでデバッガを起動する場合にXウィンドウ端末エミュレータを指定し ます。標準的なXウィンドウ端末エミュレータには、xtermやdttermがあります。
dttermを使う場合は、以下のように指定します。
SVD_TERM=dtterm
この環境変数を指定した場合、-eオプションにsvdコマンドが指定されて、指定し たXウィンドウ端末エミュレータが起動されます。
3. デバッガのウィンドウを表示するホストにログオンします。
第6章 動作確認
110
Webアプリケーションから起動されたデバッガのウィンドウを表示するために、Xサーバへ の接続を許可します。Webアプリケーションが動作するホストとデバッガのウィンドウを 表示するホストが同じ場合にもこの操作を行う必要があります。Xサーバへの接続を許可 するには、xauthコマンドやxhostコマンドを使用します。
以下に、xhostコマンドによってホスト名がmyhostのホストからのXサーバへの接続を許可 する場合の例を示します。
xhost +myhost
デバッグが終了したら、Xサーバへの接続許可を解除します。
以下に、xhostコマンドによってホスト名がmyhostのホストからのXサーバへの接続許可を 解除する場合の例を示します。
xhost -myhost
xauthコマンドとxhostコマンドについては、X Window Systemのマニュアルまたは参考書 を参照してください。
4. WebブラウザからWebアプリケーションを呼び出します。このとき、Webブラウザはデバッ グするWebアプリケーションが実行されるコンピュータでなくてもかまいません。
5. Webアプリケーションが起動されたとき、デバッガが自動的に起動されるのでデバッグを 開始します。
以降の操作は、通常のデバッガを使用したデバッグと同じです。デバッガの使用方法については、
“NetCOBOL 使用手引書”を参照してください。
デバッガを使用してデバッグを行う場合は、Webアプリケーションの動作時間が通常の場 合よりも長くなります。したがって、Webブラウザによっては、デバッグ中にタイムアウ トが発生することがあります。タイムアウトが設定できるWebブラウザは、適切な値に変 更してください。また、タイムアウトが設定できるWebサーバは、適切な値に変更してく ださい。
6.2.2 SAFアプリケーションの動作確認
デバッガを使用してデバッグする場合には、NESはWebアプリケーションを同じメモリ空間に読み 込んで呼び出すため、デバッガを使用してデバッグする際には以下の点を考慮する必要がありま す。
● Webアプリケーションが不正な動作をした場合、Webアプリケーションが異常になるばかり でなく、同時にロードされているほかのWebアプリケーションやNES自身も異常になる可能 性があります。デバッグ時には、まず、ほかのWebアプリケーションが何も組み込まれて いない状態で検証し、次にいくつかのWebアプリケーションを混在させて確認することを 推奨します。
● デバッガは、Webアプリケーションだけでなく、ほかのWebアプリケーションやNES自身も デバッグの対象としています。よって、デバッガを終了させるとほかのWebアプリケーシ ョンやNES自身も終了するため、NESを再起動する必要があります。
● 同じメモリ空間内に、同じプログラム名(PROGRAM-ID)のアプリケーションが複数存在する 場合、デバッガは正しく動作しないことがあります。NESで動作するSAFアプリケーション をデバッグする場合、プログラム名を必ず一意にしてください。
6.2.2.1 デバッガを起動する
デバッガを使用してデバッグを開始するには、以下の手順で行います。
1. Webアプリケーションを翻訳・リンクします。
デバッグを行うための翻訳オプションおよびリンクオプションを指定して、Webアプリケ ーションを作成します。デバッグを行うための翻訳およびリンクの方法については
“NetCOBOL 使用手引書”を参照してください。
6.2 対話型デバッガで動作確認する
111 2. 環境変数を設定します。
デバッグしたいプログラムからデバッガを起動するために、あらかじめ次の環境変数を設 定しておく必要があります。
― CBR_ATTACH_TOOL=[起動オプション]
デバッガを使用することを指定します。起動オプションには、実行形式ファイル名以 降を除くsvdコマンドのオプションを指定します。起動オプションについては、
“NetCOBOL 使用手引書”を参照してください。
スクリーンモードでデバッガを起動する場合は、環境変数CBR_ATTACH_TOOLの起動 オプションに-wオプションを必ず指定してください。ラインモードでデバッガを起 動する場合は、環境変数CBR_ATTACH_TOOLの起動オプションに-rオプションを必ず 指定してください。
実行時のコード系がUnicodeの場合や、デバッガをラインモードで起動する場合は、
環境変数SVD_TERMを設定しておく必要があります。
デバッグしたいプログラムからデバッガを起動する場合、デバッグ情報ファイル格 納ディレクトリなどの必要な情報は、あらかじめ環境変数CBR_ATTACH_TOOLの起動 オプションに指定しておく必要があります。
― DISPLAY=[host]:server[.screen]
デバッガのウィンドウを表示するディスプレイを指定します。
Webアプリケーションが動作するホストにデバッガのウィンドウを表示する場合は、
以下のように指定します。
DISPLAY=:0
環境変数DISPLAYについては、X Window Systemのマニュアルまたは参考書を参照し てください。
― SVD_TERM=Xウィンドウ端末エミュレータ
ラインモードでデバッガを起動する場合にXウィンドウ端末エミュレータを指定し ます。標準的なXウィンドウ端末エミュレータには、xtermやdttermがあります。
dttermを使う場合は、以下のように指定します。
SVD_TERM=dtterm
この環境変数を指定した場合、-eオプションにsvdコマンドが指定されて、指定し たXウィンドウ端末エミュレータが起動されます。
3. デバッガのウィンドウを表示するホストにログオンします。
Webアプリケーションから起動されたデバッガのウィンドウを表示するために、Xサーバへ の接続を許可します。Webアプリケーションが動作するホストとデバッガのウィンドウを 表示するホストが同じ場合にもこの操作を行う必要があります。Xサーバへの接続を許可 するには、xauthコマンドやxhostコマンドを使用します。
以下に、xhostコマンドによってホスト名がmyhostのホストからのXサーバへの接続を許可 する場合の例を示します。
xhost +myhost
デバッグが終了したら、Xサーバへの接続許可を解除します。
以下に、xhostコマンドによってホスト名がmyhostのホストからのXサーバへの接続許可を 解除する場合の例を示します。
xhost -myhost
xauthコマンドとxhostコマンドについては、X Window Systemのマニュアルまたは参考書 を参照してください。
4. WebブラウザからWebアプリケーションを起動します。このとき、Webブラウザはデバッグ するWebアプリケーションが実行されるコンピュータでなくてもかまいません。
5. Webアプリケーションが起動されたとき、デバッガが自動的に起動されるのでデバッグを 開始します。