pdbファイルは果たして悪なのか
対応策
無難なディレクトリでビルドする(推奨)
ばれても問題ないパスでビルドを行うと、余計な心配をしなくて済む。
DebugInfoを使用してデータを削除する
Remove full path of PDB file from C# dll or exe. (/pdbaltpath in c#)
→DebugDir download | SourceForge.net
もともとはDebugDirという処理だけど、拡張してデバッグ情報を変更できる機能をつけてくれたらしい。
上記DebugInfoをダウンロードして、コマンドを実行すると、パスを削除できるようだ。
※パスの中にスペースがあるとことごとくデータが残るみたいなので、ビルドパスに注意しよう。
※署名があると検証に失敗する可能性があるため、確認が必要
経緯
過去に、Visual StudioユーザーがReleaseビルドをするときに必ずやってほしい2つの設定 - Qiitaをブックマークしたら、
ブコメにスターが無意味につくので、本気で調べてみようと思った午前1時。
現状調査
詳細は下記章に記載するが、まとめると以下の通りになる。
pdb | 署名 | 結果 |
pdb-only | なし | exeなどにフルパスの記載あり |
pdb-only | あり | exeなどにフルパスの記載あり |
none | なし | フルパスの記載なし |
none | あり | フルパスの記載なし |
full | 未調査 | 未調査 |
PDBファイル出力あり(pdb-only)
単純にデバッグ情報をpdb-onlyにした状態でReleaseビルドした結果、フルパスが記載された。
このとき、署名はしていない。想定通り。
もしかして、厳格な型の場合は、このあたりの動きが違うのではないかと調査してみたが、影響なしだった。