2024年3月19日 星期二

[研究]Visual Studio 2019 Enterprise 無法叫用中斷點 (停用偵錯最佳化)

[研究]Visual Studio 2019 Enterprise 無法叫用中斷點 (停用偵錯最佳化)

2024-03-19、2024-03-25更新

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19

********************************************************************************


********************************************************************************

Visual Studio 2019 Enterprise 調試出現 "無法叫用中斷點" 原因 ? 解決 ?

ChatGPT

"無法叫用中斷點"(Unable to invoke breakpoint)是 Visual Studio 中的常見錯誤,它可能由多種原因引起。 以下是一些可能的原因和解決方法:

  • 符號載入問題:這可能是由於符號(symbol)載入失敗而導致的。 在偵錯時,Visual Studio 需要載入符號資訊以便正確設定斷點和追蹤程式碼。 您可以嘗試清除解決方案並重新生成,或確保您的符號伺服器和符號載入路徑設定正確。
  • 檔案損壞或損壞的快取:有時專案檔案或 Visual Studio 快取可能會損壞,導致偵錯過程中出現問題。 您可以嘗試刪除專案資料夾中的臨時檔案(如 .vs 資料夾)並重新啟動 Visual Studio。
  • 調試引擎問題:在某些情況下,可能是由於調試引擎本身出現問題而導致的。 您可以嘗試重新啟動 Visual Studio,或嘗試更新至最新版本。
  • 程式碼最佳化問題:某些程式碼最佳化選項可能會導致偵錯器無法設定斷點。 您可以嘗試在項目屬性中停用最佳化,看看是否有所改善。
  • 並行偵錯問題:如果您同時使用了多個偵錯器(例如同時偵錯 C# 和 C++ 程式碼),則可能會出現問題。 嘗試僅使用一個調試器進行調試,看看是否解決了問題。
  • 第三方外掛程式問題:某些第三方外掛程式可能會幹擾 Visual Studio 的偵錯功能。 您可以嘗試停用所有插件,然後逐一重新啟用以尋找問題的根源。
  • 權限問題:在某些情況下,權限問題可能會導致偵錯器無法正常運作。 確保您對專案文件和偵錯器有適當的權限。
  • 防毒軟體幹擾:某些防毒軟體可能會幹擾調試器的正常運作。 您可以嘗試停用防毒軟體並重新嘗試偵錯。
  • 系統問題:在某些情況下,系統問題可能會導致偵錯器出現問題。 確保您的作業系統和 Visual Studio 安裝是最新的,並且您的系統沒有其他已知問題。

如果嘗試了上述解決方法後仍然無法解決問題,您可能需要更詳細地調查並可能需要聯絡 Microsoft 支援或社群以獲得進一步的協助。

********************************************************************************

【解決】

把 Visual Studio 2019 中執行的程式,停止,再 Debug 跑一次,問題依舊。

把 Visual Studio 2019 關閉,重新啟動 Visual Studio 2019,載入該方案,再跑一次,問題依舊。

把 Visual Studio 2019 關閉,改用 Visual Studio 2012,中斷點有效,但無法檢視值,有「停用受控最佳化並重新啟動偵錯」問題。

(下圖)Visual Studio 2019 顯示「無法取得區域變數或引數的值,因為無法在這個指令指標使用,可能是它已經被最佳化改變了。」,沒有停用的按鈕。


(下圖)Visual Studio 2012 顯示「變數值無法使用,因為模組已優化。按一下下拉式清單以查看選項」,有「停用」的按鈕,顯示「停用受控最佳化並重新啟動偵錯」。



********************************************************************************

Visual Studio 2019 如何 "停用受控優化並重新啟動調試" ?

ChatGPT

在 Visual Studio 2019 中,您可以透過下列步驟停用受控優化並重新啟動偵錯:

  1. 在 Visual Studio 中開啟您的專案。
  2. 在頂部功能表列中選擇 "工具"(Tools)。
  3. 在下拉式選單中選擇 "選項"(Options)。
  4. 在彈出的視窗中,在左側導覽列中選擇 "偵錯"(Debugging)。
  5. 在右側窗格中,您會看到一個名為 "停用受控優化並重新啟動調試"(Disable Just My Code and Restart)的選項。
  6. 選取該選項,然後按一下視窗底部的 "確定"(OK)按鈕以儲存變更。

執行上述步驟後,Visual Studio 將停用受控優化並重新啟動偵錯,以便更好地追蹤程式碼的執行和偵錯。

(下圖) Visual Studio 2019 Enterprise 畫面


(下圖)把「偵錯」的「啟用 Just My Code」的勾選取消,按下「確定」按鈕。



「啟用 Just My Code」說明
https://learn.microsoft.com/zh-tw/visualstudio/debugger/general-debugging-options-dialog-box

********************************************************************************

再次使用 Visual Studio 2019 Enterprise 去 Trace Debug 該方案,中斷點有用了。

********************************************************************************

2024-04-09 補,上面仍有問題,改成





(完)

相關

沒有留言:

張貼留言