首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VS2010 C 語言調試斷點錯位:符號表與源代碼不同步的解決方法

     編輯:程式設計綜合問答

現象

斷點設置在某行,單步執行時跳轉到完全不同的行(如跳到文件頂部)。

原因

編譯生成的 .pdb 符號文件與當前源代碼**不匹配**。常見觸發:

  • 修改代碼後未重新編譯就啟動調試。
  • 多專案解決方案,依賴項輸出路徑不一致。
  • bin/obj 目錄殘留舊版本文件。

解決步驟

  1. 徹底清理:
    右鍵解決方案 → Clean Solution → 手動刪除所有專案的 bin、obj 文件夾。
  2. 重新生成:
    Rebuild Solution(而非 Build),確保所有 .pdb 重新生成。
  3. 檢查調試信息設置:
    專案屬性 → C/C++ > General > Debug Information Format → 選 Program Database (/Zi) 或 Program Database for Edit & Continue (/ZI)。
  4. 確保源文件路徑一致:
    工具 → 選項 → 調試 → 符號 → 勾選 Require source files to exactly match the original version(可選,嚴格模式)。

驗證

調試啟動後,斷點圖標應為實心紅點(含勾號 ✓),懸停提示「斷點已命中」而非「無法命中」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved