本プロジェクトは,診断・評価用の機能(メモリ観測・白板撮影)を**条件コンパイルシンボル(ビルドフラグ)**で出し分けている.配布版(Release)にはこれらをコードごと含めない方針である.本ドキュメントは,どのフラグが何を有効化し,どの構成で定義されるかをまとめる.
MEMMONITOR・WHITEBOARD・SELFTEST・HWTEST)を自動で含める.TIASshot.sln が定義する構成は次の 2 つ(プラットフォームは x64 のみ).OpenCvSharp 等がネイティブ DLL に依存するため x64 でビルドする.
| 構成 | 用途 | 定義されるシンボル | 出力先 |
|---|---|---|---|
Debug\|x64 | 開発・検証 | DEBUG TRACE WHITEBOARD MEMMONITOR SELFTEST HWTEST | TIASshot/bin/x64/Debug/ |
Release\|x64 | 配布 | TRACE | TIASshot/bin/x64/Release/ |
※
TIASshot.csprojにはDebug\|AnyCPU/Release\|AnyCPUの PropertyGroup も残っているが,.slnはx64のみをビルド対象としており,通常はこれらを使わない. ※TIASshot/bin/Debug-NoWB/というフォルダが残っている場合があるが,これはWHITEBOARDフラグ導入前の古い手動ビルドの残骸であり,現在のソリューションには対応する構成は存在しない.
| シンボル | 目的 | 定義される構成 | Release(配布)含有 | 出し分け対象(主なもの) |
|---|---|---|---|---|
MEMMONITOR | メモリ観測ウィンドウ+プレビュー計測 | Debug\|x64(自動) | ✗ | UI/MemoryMonitorForm,UI/PreviewProfiler,UI/TimedPictureBox,UI/Form1.MemMonitor(F9 トグル),Form1.ShowImage 等のプレビュー計測 |
WHITEBOARD | 白板撮影モード(照明均一性評価用) | Debug\|x64(自動) | ✗ | 白板撮影ボタン(Form1 の専用 partial),Cameras/IScam.ShotWhiteBoard 等 |
SELFTEST | ヘッドレスのセルフテスト(--selftest) | Debug\|x64(自動)・Debug\|AnyCPU(csproj のみ.通常は未使用) | ✗ | SelfTest/(ランナー・偽カメラ・合成チャート),UI/Form1.SelfTest・UI/PreviewMonitor.SelfTest,Program.Main の分岐,Form1.ShowError のヘッドレス記録 |
HWTEST | 実機テスト(--hwtest.実機のカメラ・光源を操作する) | Debug\|x64(自動)・Debug\|AnyCPU(csproj のみ.通常は未使用).SELFTEST と同時に定義すること(無いと #error) | ✗ | HwTest/(ランナー・判定・引数),UI/Form1.HwTest,Cameras/IScam.HwTest・Cameras/Lucam.HwTest(露光・ゲインの操作),Program.Main の分岐,CameraBase の校正停止フラグ,Form1_Load の自動接続の省略・Form1.ShowImage のフレーム記録・Form1.ShowError の記録,メモリ観測ウィンドウを開かない分岐 |
DEBUG | .NET 標準デバッグシンボル | Debug\|x64 | ✗ | 標準(一部の開発時分岐) |
TRACE | .NET 標準トレースシンボル | 全構成 | ○ | System.Diagnostics.Trace |
MemoryMonitorForm)を自動で開き,PrivateMemory / WorkingSet をライブ折れ線グラフ+CSV で記録する.bin/x64/Debug/MemMonitor_Results/)に出力する.TIASshot.exe --selftest でフォームを表示せずに,依存アセンブリのロード(deps)・偽カメラによるプレビュー経路(preview)・合成チャートによる校正〜保存(calib-save)を検査し,終了コード(0=合格)と結果ファイルで返す.実機カメラ・光源には触れず,保存先は一時フォルダに差し替える./verify)が使う.実行手順は ENV_04_開発コマンド と .claude/verify-profile.md を参照する.--selftest を渡しても通常起動になる).TIASshot.exe --hwtest --camera <lucam|iscam> で実際の Form1 を表示し,指定した機種のカメラと光源を操作して,接続・プレビュー・露光/ゲイン・光源・閉じる処理・再接続を検査する(PLAN_06).終了コード(0=合格)と結果ファイルで返す.保存先は一時フォルダに差し替え,同梱の config.xml・デバイス状態ファイルは書き換えない.CameraBase の校正停止フラグでフレームコールバックの校正処理(チャート検出・ホワイトバランスの調整・変換行列の算出)を止める(カメラの前にチャートをはめたまま検査するため).SELFTEST の部品(SelfTestConfig・SelfTestReport・SelfTestPump・閉じる処理の段階の記録)を使うため,SELFTEST と同時に定義する必要がある(HwTest/HwTestRunner.cs・UI/Form1.HwTest.cs が #error で検出する)..claude/verify-profile.md を参照する.--hwtest を渡しても通常起動になる).標準構成(Debug / Release)のビルド・テスト・実行コマンドは ENV_04_開発コマンド を参照する.Debug|x64 では WHITEBOARD・MEMMONITOR・SELFTEST・HWTEST が自動で有効になり(メモリ観測ウィンドウが開き,白板撮影ボタンが表示され,--selftest・--hwtest 引数が使える),Release|x64 ではいずれの診断フラグも含まれない.
WHITEBOARD(白板撮影の専用ビルド記号化)MEMMONITOR(メモリ修正の効果検証ツール)