天天看點

在使用Reference Source調試.Net 源代碼時如何取消optimizations(代碼優化)-翻譯

當你在使用 Reference Source functionality in VS 2008

調試.Net 的源代碼的時候,你會發現很多變量沒法再調試時檢視。

這是因為源代碼伺服器上提供的代碼預設是為最終銷售優化過的(optimized )。這些值雖然你沒法檢視,但不會阻斷單步執行,大部分情況下你可能不需要檢視。

但如果你真的需要檢視,這裡還是有一個辦法的。

你需要靠訴CLR不要加載pre-JIT(也加NGEN)鏡像。下面是具體步驟:

首先,建立一個CMD檔案。檔案裡包含這麼幾步,設定一個環境變量,随後啟動Visual Studio。 我把這個檔案命名為"NoOptDevEnv.cmd",具體内容如下:

set COMPLUS_ZapDisable=1

cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\"

start devenv.exe

exit

我把這個CMD檔案檔案放在我的桌面,當我需要禁止優化(optimizations)的時候就用這個檔案啟動VS。

一旦Visual Studio啟動,還需要做以下步驟:

  1. 右鍵單擊你的項目檔案,選擇“屬性”
  2. 選擇“調試(Debug)”,取消勾選"允許Visual Studio托管程序(Enable the Visual Studio Hosting Process)"
  3. 在調試模式啟動你的程式。

現在,你可以看到所有的本地和成員變量的值了:

原文:

http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx

繼續閱讀