只有累積,沒有奇蹟

2018年12月23日 星期日

[VS2017] 目前無法叫用中斷點 未載入這個文件的符號

問題
在與同事 pair programming 進行開發時,反應他筆電的 Visual Studio 在偵錯時都無法進到中斷點,會出現白底紅圈加上驚嘆號(一般是紅色圈圈),滑鼠移上去會出現 目前無法叫用中斷點 未載入這個文件的符號 ,情境如下示意圖
處理方式
整理以下幾種可能發生的原因,以及遇到當下該如何進行問題排除
確認 Debug Mode 
確認 Visual Studio 方案組態設定是否為 Debug Mode,如果為 Release Mode 則所有中斷點都不會進去 
(不要鬧了 你醒醒阿阿 !!!!

設定偵錯 - Just My Code  
來回到 Visual Studio IDE 輸出視窗來源選擇 偵錯模式可以發現在載入 dll 的過程中有些不一樣的訊息提示,在無法偵錯中斷點是白底紅圈圈時皆顯示 已略過載入符號,模組已最佳化,並已啟用 [Just My Code] 偵錯工具選項,這段文字在說甚麼 ? 心想誰偷改我電腦設定 or 準備重灌 (誤,原因如下

當在 Application 進行 Debug 的時候debugger 會嘗試去找正在執行的 symbols 中的代碼,它才可以知道開發者在哪段 Code 有設定中斷點,蒐集加入監看示的變數內容或是檢查 Call Stack 等資訊,在 Visual Studio 中 debug 時預設會跳過不屬於此專案的代碼或是 assemblies這設定名稱為 Just My Code,如果想取消此設定可以透過以下方調整 
設定方式 : Visual Studio 點選工具 > 選項 > 偵錯 > 一般 > 取消 啟用 Just My Code 選項

設定 最佳化程式碼 
設定方式 : 專案點選右鍵 > 屬性 > 建置 > 取消 最佳化程式碼

什麼是最佳化程式碼 ? 
- 此設定預設是開啟,當 C# compiler 時會幫你的程式碼進行最佳化,目的是讓 C# compiler 後的檔案更小 以提升執行時的效能 ( 詳細可以參考 黑暗大 smart Compiler )

後續
以透過以上設定,就可以順利進入中斷點
可以繼續寫更多 bug 嚕 (握拳

參考
Just My Code
Smart C# Compiler
最佳化您的程式碼
'Just My Code' is Enabled ?

Related Posts:

  • [VisualStudio] VSCode - Failed to create file handle : 程序無法存取檔案,因為檔案正由另一個程序使用問題  最近強者同事大推使用 Visual Studio Code,不管是用編輯 Markdown 或是開發 C# 後端都是十分好用,也分享不少好用的套件與工具,但這兩天在使用 Visual Studio Code 關閉時都會跳出 'Failed to create file handle: 程序無法存取檔案,因為檔案正由另一個程序使用) ,這篇就就針對此問題的解決方式做簡單分享,若是有不清楚或是錯誤的地方歡迎討論予… Read More
  • [VisualStudio] .NET 分析測試代碼覆蓋率 AxoCover前言  最近在替既有專案補上單元測試,除了在 SonarQube 可以看到測試代碼覆蓋率之外,這幾天同事推薦一套可以在 Visual Studio 執行的程式碼覆蓋率分析工具 AxoCover,可運行在 .NET 環境且開源免費,簡單玩了一下覺得十分不錯推薦給大家,今天就來分享 AxoCover 在 Visual Studio 2017 的安裝及基本操作說明。 安裝 AxoCover  Step 1 :… Read More
  • [VisualStudio] 使用 Switch Code Snippet + Enum 快速建立代碼前言 Visual Studio 提供 Code Snippets 快速地插入程式碼,舉例來說使用輸入 for 可以產生空白的 for 迴圈代碼,輸入 try 可以產生 try catch 程式碼片段,輸入 prop 可以快速建立屬性,以上功能在 Visual Studio 叫做 Code Snippets;但這不是今天的重點,今天在上保哥非同步程式開發技巧課程時偷學到一招新的,建立 switch Code Snippet + enum 的搭配快… Read More
  • [VS2017] The current .NET SDK does not support targeting .NET Core 2.1發生情境 最近在開發時遇到取完最新的source code Build時發生錯誤,Visual Studio error message 如下 The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that su… Read More
  • [VisualStudio] Visual Studio 2019 - 無法安裝套件 Microsoft.VisualStudio.MinShell.Interop.Msi問題  地表上最強開發工具 Visual Studio 2019 於 2019/4/3 正式發布,身為一位不專業的 .NET 攻城師當然不能錯過,沒想到在安裝 VS2019 過程中沒想像中順利,安裝幾次都出現錯誤訊息如下 雖然顯示安裝程式完成,但實際開啟專案會發現專案開啟異常無法正常載入,在經過一番努力之後終於安裝完成,這篇就針對此案例作簡單紀錄與分享,若是有不清楚或是錯誤的地方歡迎討論予糾正。 解決方法 異常發生時點擊記錄檔 l… Read More

0 意見:

張貼留言

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com