コンテンツにスキップ

ShioriEcho とデバッグ

デバッグモード

$デバッグ=有効 にすると、デバッグ用の ID が使えます。既定は無効です。これらの ID は SecurityLevel: local のときだけ動作します。

ID 動作
ShioriEcho Reference0, 1, 2… を 1 行ずつ里々の文として展開し、さくらスクリプトにして Value で返す
SatolistEcho Reference0 のウィンドウに、Reference1 以降の展開結果を WM_COPYDATA の SSTP 形式で送る(さとりすと用、Windows のみ)
enable_debug Reference0 が 0 以外なら、デバッグモードを有効にする
enable_log Reference0 が 0 以外なら、ログ出力を有効にする

ShioriEcho の結果に含まれる、危険なさくらスクリプト(\![raise \![open,browser \![vanishbymyself \j[ など)は、¥[ に置き換えられて実行されないようになります。デバッグモードが無効なときに ShioriEcho を呼ぶと、有効にする方法を書いたメッセージを返します。

デバッグモードは、辞書側の *初期化 で設定するのが基本です。

*初期化
$デバッグ=有効

ログ

里々の動作は、ログとして出力されます。出力先は、ログ受信ツール(れしば・tama)のウィンドウです。logsend エクスポートで渡されたウィンドウか、起動時に探して見つけたウィンドウへ送られます。

呼び出し側が Set_loghandler エクスポート(YAYA と同じもの)でコールバックを渡した場合は、ウィンドウには送らず、そのコールバックを呼びます(Mc201-10以降)。コールバックの形は void (*)(const wchar_t *str, int mode, int id) で、mode はログの種類(YAYA と同じ値)、id は常に 0 です。最初に文字コードの通知(mode = 17、UTF-8)が来て、その後はログ 1 行ごと(末尾に改行付き)に呼ばれます。NULL を渡すと解除されます。

tama(tamac)のモードでは、ログの種類(情報・エラーなど)が付けられます。エラー(辞書の書式の誤りなど)は、ログ受信ツールが [ERROR] などとして扱います。

$Log、RequestLog、OperationLog、ResponseLog で出力する内容を切り替えられます。

さとりて

さとりて(satorite.exe)は、里々の文を入力して、さくらスクリプトへの変換結果を確認できる Windows 用のツールです。ゴースト側で ShioriEcho の仕組みを使うため、$デバッグ=有効 にしておく必要があります。

動作確認のヒント

  • 辞書の書式のエラーや、not found などは、ログに出ます。
  • ShioriEcho に 1 行ずつ渡すと、ゴーストを起動しなくても展開結果を確認できます。
  • 式の計算エラーは、式が計算不能です。 と表示されます。