none
如何在Visual Studio偵錯中,顯示的C#代碼與最佳化程式碼後一致? RRS feed

  • 問題

  • 因已經最佳化程式碼,無法與原始碼完整的對應,偵錯時中斷點與實際執行位置會有出入,

    目前都先取消最佳化程式碼發行出去,在偵錯看看是遠端環境端的什麼問題所造成,

    解決問題後,又重新發行最佳化程式碼到遠端,

    因重新發行覺得麻煩,請問有辦法在最佳化程式碼後,偵錯時所看到的C#代碼也是切換成最佳化的代碼嗎?

    2017年11月5日 上午 06:45

所有回覆

  • 您有搭配Release版的PDB檔案進行偵錯嗎? 請參考:

    why PDB files are created in release Build?

    2017年11月6日 上午 12:44
  • 你應該是記錄發生問題時可以用來推斷問題的資料,而不是程式碼的行號...

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2017年11月7日 下午 01:07
    版主
  • 您有搭配Release版的PDB檔案進行偵錯嗎? 請參考:

    why PDB files are created in release Build?

    有,但例如像是在 return 前,我習慣會將結果先放入一個變數,

    方便有需要偵錯時,能直接查看變數資料,

    但因最佳化後的PDB,省略了這種不必要的代碼,

    相對在VS偵錯時,就無法下在單純 return results; 這行,

    如果我改發行 Debug 組態版本的話,使用遠端的 PDB 是可正常停留在 return results 查看。

    2017年11月7日 下午 02:43
  • 你應該是記錄發生問題時可以用來推斷問題的資料,而不是程式碼的行號...

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    嗯嗯,是剛好有需要遠端偵錯時,想要知道是否有更方便不用換Debug組態版本就能進行偵錯,

    這部分是想學習一些遠端偵錯的技巧,平常推斷問題還是看Log為主的。

    2017年11月7日 下午 02:51
  • Release發行沒辦法遠端偵錯

    Release版本在本機執行,你下中斷點,也不會在中斷點停下來

    所以搭配Log是比較優的方式

    2017年11月14日 下午 07:03