[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4 Debugging

In general, it is difficult to debug distributed computations. ‘ox_asir’ provides several functions for debugging.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4.1 Error object

When an error has occurred on an OpenXM server, an error object is pushed to the stack instead of a result of the computation. The error object consists of the serial number of the SM command which caused the error, and an error message.

[340] ox_launch();
0
[341] ox_rpc(0,"fctr",1.2*x);
0
[342] ox_pop_cmo(0);
error([8,fctrp : invalid argument])

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4.2 Resetting a server

ox_reset() resets a process whose identifier is number. After its execution the process is ready for receiving data. This function corresponds to the keyboard interrupt on an usual Asir session. It often happens that a request of a client does not correspond correctly to the result from a server. It is caused by remaining data on data streams. ox_reset is effective for such cases.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4.3 Pop-up command window for debugging

As a server does not have any standard input device such as a keyboard, it is difficult to debug user programs running on the server. ‘ox_asir’ pops up a small command window to input debug commands when an error has occurred during user a program execution or ox_rpc(id,"debug") has been executed. The responses to commands are shown in ‘xterm’ to display standard outputs from the server. To close the small window, input quit.


[ << ] [ < ] [ Up ] [ > ] [ >> ]

This document was generated on April 20, 2024 using texi2html 5.0.