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 行ずつ渡すと、ゴーストを起動しなくても展開結果を確認できます。- 式の計算エラーは、
式が計算不能です。と表示されます。