錯誤現象
程式啟動後輸出大量 無法查找或打開 PDB 文件 (uxtheme.dll, kwsapi.dll 等),最終以 返回值 -2147467259 (0x80004005) 退出。

錯誤解讀
- PDB 缺失警告:僅表示偵錯符號檔案缺失,**不影響程式運行**,系統 DLL、殺毒軟體 DLL 通常無 PDB,可忽略。
- 0x80004005 (E_FAIL):通用 COM 失敗碼,**真正崩潰原因隱藏在例外細節中**,需單步偵錯捕捉。
調試步驟
- **設定例外中斷**:VS 選單 Debug → Windows → Exception Settings,勾選 C++ Exceptions、Win32 Exceptions (c0000005 存取違規等)。
- **啟動偵錯 (F5)**:程式將在拋出例外處中斷,查看 Call Stack、Locals、Exception Message。
- **常見崩潰點**:
- Kinect 感測器未正確初始化 (
NuiInitialize 失敗)。
- OpenCV 版本不匹配 (Debug/Release 混用、x86/x64 不一致)。
- 影像幀資料指標為空或格式錯誤 (
cv::Mat 建構失敗)。
- 未檢查
HRESULT 返回值直接使用失敗的介面指標。
- **輸出視窗**:關注
First-chance exception at 0x... 訊息。
環境建議
- 統一 **x64** 或 **Win32** 編譯,OpenCV、Kinect SDK、專案平台目標一致。
- 使用
NuGet 管理 OpenCV (如 opencvdefault) 避免手動配置路徑錯誤。
- Kinect SDK 1.8 需安裝執行階段,確認
NuiApi.h、Kinect20.lib 路徑正確。
總結
PDB 警告可忽略,**必須單步偵錯捕捉真實例外**,針對 Kinect/OpenCV 初始化順序、位元寬度一致性、資源釋放進行修正。