現象
代碼 `int i=0;` 編譯通過,但斷點處監視 `i` 提示「未定義標識符」。
原因
**調試符號 (PDB) 與源碼/二進制不匹配**。常見於:
- 修改代碼後未重新編譯就啟動調試。
- 多專案方案中,啟動專案非當前編譯專案。
- 優化選項導致變量被優化掉(Release 模式)。
解決步驟
- 選單 `Build` → `Clean Solution`。
- `Build` → `Rebuild Solution`。
- 確認專案屬性 → `C/C++` → `General` → `Debug Information Format` 為 `Program Database (/Zi)`。
`Linker` → `Debugging` → `Generate Debug Info` = `Yes (/DEBUG)`。 - 以 **Debug** 配置啟動調試(非 Release)。