文章出處

在使用PDB調試XAF時,發現好多變量都看不到.都被優化掉了.

下面的方法可以解決.

 

當你在使用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


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()