ユーザ用ツール

サイト用ツール


tabuchi:sdebug

文書の過去の版を表示しています。


SDebug : Stars モニタープログラム

Stars サーバに Debugger という名前で telnet 接続した時の作業を行いやすくするため GUI を提供する wrapper プログラムです。 Stars のクライアントプログラムを作成しているときのバグ取り作業や、新しく導入したクライアントの動作の確認などに役立ちます。

SDebug には以下のような特徴が有ります。

  1. Starsサーバとの接続、サーバとクライアントの間でやり取りされるメッセージの、サーバを通じたメッセージの送信、等を GUI を通じて行えます。
  2. 表示されるメッセージはメモリが許す範囲で可能な限り過去まで遡れます。
  3. サーバを通じて送ったメッセージは記憶され、再送が可能です。
  4. 2015.6.17 : ひとつ前のバージョンから、stars サーバの listnodes コマンドを利用して、stars サーバが認識しているドライバの一覧を取得し、コマンド送信の際の送信先をその一覧から選べるようにした。その際、ノード名の取り扱いを忘れていて、例えば simmotor.ch0 GetValue というコマンドの送信ができなくなっていた。この点の修正。
    現在の動作は以下の様になっている
    1. Dev. [simmotor] Ch. [空欄] Cmd. [pm16c01 GetValue] → 実際の送信 [pm16c01 GetValue] (pm16c01 が Dev. のリストにある場合)
    2. Dev. [simmotor] Ch. [空欄] Cmd. [simmotor.ch0 GetValue] → 実際の送信 [simmotor.ch0 GetValue] (一つ前のバージョンではこれができなかった)
    3. Dev. [simmotor] Ch. [空欄] Cmd. [GetValue] → 実際の送信 [simmotor GetValue] (送信先デバイス名が無いので、Dev. 欄のデバイスを送り先にする)
    4. Dev. [simmotor] Ch. [ch0] Cmd. [GetValue] → 実際の送信 [simmotor.ch0 GetValue] (Ch. の指定があるので、これを送信先に追加する)
    5. Dev. [simmotor] Ch. [ch0] Cmd. [pm16c01 GetValue] → 実際の送信 [pm16c01 GetValue]

注意

Stars には、同じ名前のクライアントが二つ接続できません。そこで、SDebug は複数接続できるように、Debugger, Debugger1, Debugger2,… などの名前を選んで Stars に接続できるようになっています。ただし配布されている Stars サーバには、メッセージモニタ用の「Debugger」は1つしかありません。そこで、Debugger1, Debugger2,… 等の名前で接続する場合、Stars サーバ側に変更が必要です。 具体的には takaerv (Stars サーバの本体。perl のプログラムでテキストファイル)の下記の行の下に、

takaserv:	if(defined $PerlSvc::Node{'Debugger'}){
takaserv:		my $handle=$PerlSvc::Node{'Debugger'};

次の様な行を追加し、

takaserv:	if(defined $PerlSvc::Node{'Debugger0'}){
takaserv:	    my $handle=$PerlSvc::Node{'Debugger0'};
takaserv:	if(defined $PerlSvc::Node{'Debugger1'}){
takaserv:	    my $handle=$PerlSvc::Node{'Debugger1'};
takaserv:	if(defined $PerlSvc::Node{'Debugger2'}){
takaserv:	    my $handle=$PerlSvc::Node{'Debugger2'};
takaserv:	if(defined $PerlSvc::Node{'Debugger3'}){
takaserv:	    my $handle=$PerlSvc::Node{'Debugger3'};
takaserv:	if(defined $PerlSvc::Node{'Debugger4'}){
takaserv:	    my $handle=$PerlSvc::Node{'Debugger4'};

さらに、takaserv-lib フォルダ/ディレクトリの中にある、Debugger.key をコピーして、Debugger1.key, Debugger2.key… を作ると Debugger 以外に Debugger1, Debugger2,… の様な名前で接続が可能になります。

履歴

  1. 2015.6.5 公開を開始しました。
tabuchi/sdebug.1570112262.txt.gz · 最終更新: 2019/10/03 14:17 by mtab