7.4 デバッグ
分散計算においては, 一般にデバッグが困難となる. ‘ox_asir’ に
おいては, デバッグのためのいくつかの機能を提供している.
7.4.1 エラーオブジェクト
OpenXM server が実行中にエラーを起こした場合, 結果のかわりに
CMO エラーオブジェクトをスタックに積む. エラーオブジェクトは, 対応する
SM コマンドのシリアル番号と, エラーメッセージからなり, それによって
どの SM コマンドがどのようなエラーを起こしたがある程度判明する.
[340] ox_launch();
0
[341] ox_rpc(0,"fctr",1.2*x);
0
[342] ox_pop_cmo(0);
error([8,fctrp : invalid argument])
7.4.2 リセット
ox_reset()
は現在実行中の server をリセットして, コマンド受け付け
状態に戻す. この機能は, 通常の Asir セッションにおけるキーボード割り込み
とほぼ同様に, OpenXM server をリセットできる. また, 何らかの原因で,
通信路のデータが載ったままの状態で ox_rpc()
などを実行すると,
ox_pop_cmo()
など, スタックからの取り出しと, 実際に読まれるデータ
の対応が不正になる. そのような場合にも有効である.
7.4.3 デバッグ用ポップアップウィンドウ
server には, client におけるキーボードに相当する入力機能がないため,
server 側で動作しているユーザ言語プログラムのデバッグが困難になる. この
ため, server 側でのユーザ言語プログラム実行中のエラーおよび, client から
の ox_rpc(id,"debug")
実行により, server にデバッグコマンド
を入力するための小さなウィンドウがポップアップする. このウィンドウからの
入力に対する出力は, log 用の ‘xterm’ に表示される. このウィンドウを
閉じるには, quit
を入力すればよい.
この文書は12月 30, 2024にtexi2html 5.0を用いて生成されました。