1 of 8

(1) GitHub\satoriya-shiori\satoriya\satori\satori.sln を開いた後、

メニューの「デバッグ」「satori のデバッグ プロパティ」を開く。

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (SSP を使う方法 1/5)

2 of 8

(2) 構成(C)」 が 「Debug」 になっていることをチェックして、

「全般」の中の、

「出力ディレクトリ」 を .\Debug\ → 「対象ゴーストの ghost\master」 に変更する。

※ satori.dll に加えて satori.pdb (19MB位) 一緒に出力されることに注意!

  このデバッグ作業専用のゴーストさんを用意することを勧めます。

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (SSP を使う方法 2/5)

3 of 8

(3) デバッグ」の中の、

「コマンド」 … $(TargetPath) → 「ssp.exe のフルパス」

「コマンド引数」 … (空) → 「/g (フォルダ名/ゴースト名)」

「作業ディレクトリ」 $(ProjectDir) → 「対象ゴーストの ghost/master」 に設定する。

【参考】 SSP起動オプション一覧

http://ssp.shillest.net/ukadoc/ssphelp/option.html

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (SSP を使う方法 3/5)

4 of 8

(4) リンカー」→「デバッグ」の中の、

「デバッグできるアセンブリ」 「はい (/ASSEMBLYDEBUG)」に変更する。

最後に 「OK」 をクリックして、変更を適用する。

【参考】 DLL プロジェクトをデバッグする - Visual Studio (Windows) | Microsoft Learn を参照。…不要?

https://learn.microsoft.com/ja-jp/visualstudio/debugger/debugging-dll-projects?view=vs-2022

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (SSP を使う方法 4/5)

5 of 8

(5) 元の画面に戻ったら、ブレークポイントに設定したい行で F9 を押して設定 (左端にが出たら設定OK) して、

「ローカル Windows デバッガー」であることを確認してクリック (ショートカットキーはF5) すれば、デバッグ開始。

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (SSP を使う方法 5/5)

6 of 8

(1) Narazawaさんのリポジトリより shioricaller の Release (2023/01現在は v2.0.0) を取得する。

https://github.com/Narazaka/shioricaller

(2) shioricaller.zip を解凍して、 Debug フォルダに

- shioricaller.exe

- request.txt

- dictest.txt

(※ dic*.txt ならOK…というか里々のロード時に読み込まれるものなら全部OK)

の3ファイルを配置。

文字コードは Shift_JIS でないとダメっぽいです。

  (返ってくるレスポンスが Shift_JIS 固定っぽい?ので文字化けします)

里々の場合は request.txt の空白2行(改行2回)も重要でした。

  1行だと dic*.txt の中身が読み込まれない(っぽい)?

※ 普通に里々を起動した時と同様、

  satori_conf.txt の *初期化 とかも普通に使えます。

★ 最重要ポイント ★

request.txt 内で、

SecurityLevel: local を指定しないと、関数が動作しません!

例えば local/Localでないので蹴りました: vncall 等になります。

【情報元】 タタキノフさんのトゥート

https://ukadon.shillest.net/@tatakinov/109765801904439460

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (shioricaller.exe を使う場合 1/3)

● request.txt の中身(一例)

----------------------------

GET SHIORI/3.0

ID: OnTest

SecurityLevel: local

Reference0: 区切りたい,文字

Reference1: ,

----------------------------

※ ↑里々の場合、この空白2行も重要です。

※ request.txt も色々弄れるみたい。

【参考】 Don さんの MahjongUtil

https://github.com/nikolat/MahjongUtil/commit/d157948f7f8a7c552e7c973caf2e0526a9cdf23a

● dictest.txt の中身(一例)

----------------------------

*OnTest

$v0 (R0)

$v1 (R1)

(vncall,split,v0,v1)

(S0)

(S1)

----------------------------

※ OnTest の内容は、

  テストしたい処理に応じて、

  適宜書き換えて下さい。

7 of 8

(3) 設定は以下の通り:

「出力ディレクトリ」 .\Debug\ (初期値) OK。

「コマンド」 $(ProjectDir)Debug\shioricaller.exe (※フルパスでないと×)

「コマンド引数」 satori.dll .\ < request.txt > responce.txt (※responce.txtは任意、デバッグには便利)

「作業ディレクトリ」 $(ProjectDir)Debug\ (※フルパスでないと×)

(4) あとは SSP を使用する場合と同じようにデバッグを実行するだけです。

※ この時、れしばを立ち上げておくと(里々を呼び出しているので)ちゃんとログが取れます!タタキノフさんに感謝…!

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (shioricaller.exe を使う場合 2/3)

8 of 8

Don さんのトゥートより、全部間接指定(MSBuild的にはマクロ)でもやれることが分かったので追記。

$(ProjectDir)$(OutDir) → このプロジェクトが出力するDLLのカレントディレクトリ

$(ProjectDir)$(OutDir)$(TargetName)$(TargetExt) → このプロジェクトが出力するDLLのフルパス

を使えば、

「記述を変えることなく satori.dll 以外のプロジェクト(例えば自分で組んだ SHIORI とか!)にも対応できる」し、

「shioricaller.exe の配置を、プロジェクトの出力先と別にすることもできる」ので、汎用性が高くなっていいなと思います。

例えば、(Don さんのトゥートの)以下の記述は、

(ProjectDir)

 ┣ Debug

 ┗ shioricaller

とした場合の記述例です。第二引数 (dirpath) の記述は要注意!

(shioricaller.exe のディレクトリではなく .dll のカレントディレクトリ にしないといけない)

※ satori.dll 固有の問題ですが、(satori.dll が同一ディレクトリの辞書を読みに行く都合上)

   dic*.txt や satori_conf.txt は satori.dll と同一ディレクトリに配置する必要があります。

「コマンド」

$(ProjectDir)shioricaller\shioricaller.exe

「コマンド引数」

$(ProjectDir)$(OutDir)$(TargetName)$(TargetExt) $(ProjectDir)$(OutDir) < request.txt > responce.txt

「作業ディレクトリ」

$(ProjectDir)shioricaller\

■ satori.dll の Visual Studio Community 2022 でのデバッグ設定 (shioricaller.exe を使う場合 3/3)