2008-11-17 8 views
18

當我使用.NET的Microsoft調試符號調試我的ASP.NET網站代碼時,我一直對這個愚蠢的「結果」變量,當我調試.NET框架代碼(這當然是由Microsoft符號服務器,這令我跟VS2008搶信息,提供從)使用MS的Symbol服務器調試.NET代碼 - VS不顯示變量的值

Cannot obtain value of local or argument 'cookie' as 
it is not available at this instruction pointer, possibly because 
it has been optimized away. 

這就像代碼我使用的是使用優化的編譯代碼。如果是這樣的話,我可以告訴它不要優化?我在DEBUG配置中。這是非常令人沮喪的,因爲我無法調試..因爲我無法看到/檢索本地變量的值,因爲我一步一步通過代碼。

任何線索/想法?

回答

19

肖恩·伯克描述禁用此對他blog的方法。

首先,創建一個將加載Visual Studio而不進行JIT優化的CMD。

set COMPLUS_ZapDisable=1 
cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\" 
start devenv.exe 
exit 
在Visual Studio項目

一次,請執行下列操作步驟:在您的項目文件

1)右擊並選擇「屬性」

2)選擇「調試」選項卡,取消「啓用Visual Studio主機進程」

3)在調試器中啓動您的應用程序。

1

在.NET框架代碼進行了優化,所以你將不能夠查看所有的變量,因爲他們可能是在優化的代碼不存在。我假設你正在嘗試在.NET框架內進行調試。不幸的是,你無能爲力。

+0

正確Robert。我在從Microsoft Symbol Server for .NET下載的代碼中。例如,上述內容發生在SetAuthCookie(..)方法內部,System.Web.Security.FormsAuthentication類內......這當然是從ms的符號服務器下載的。 – 2008-11-17 02:48:03

+2

這不是100%正確的。大部分您看到的錯誤都是運行時JIT優化的結果。這些可以通過.INI文件壓縮(請參閱我的文章)。在BCL中有一些優化,但如果JIT最優化被抑制,大部分不會影響調試。 – JaredPar 2008-11-17 06:51:00

+1

從閱讀中您需要將ini文件放在要影響的DLL/EXE旁邊。你把它放在BCL圖書館的什麼地方? – 2008-11-17 07:18:46

7

對於一個正常的.NET應用程序,你可以用旁邊的開始二進制.ini文件禁止使用JIT優化。下面是如何實現這一點

http://blogs.msdn.com/jaredpar/archive/2008/08/29/disabling-jit-optimizations-while-debugging.aspx

調試ASP.Net是有點不同的,雖然我不知道這是否會爲你工作的鏈接。如果您使用輕量級Web服務器(cassini)進行本地調試,則可以將此技巧應用於Cassini本身。如果你是通過IIS內部的web服務器直接調試,我不知道如何讓這個技巧工作,但希望它能帶領你朝着正確的方向前進。

+0

嗨JaredPar。我知道我在這個帖子上投了'保險',但是如果我在本地對卡西尼進行調試,你能提供更多信息嗎? – 2009-04-10 11:14:23

0

最後,當連接到aspnet_wp.exe Visual Studio 2008,.NET框架2.0時,此解決方案適用於我:進入項目屬性,進入生成選項卡,高級按鈕 - >將輸出調試信息設置爲「完整」。希望這可以幫助某人。

3

了大量的研究後,我能找到一種方法連接到下IIS7/Windows 7的x64上的IIS託管的應用程序時,也使這個「COMPLUS_ZapDisable」技術工作。

就我而言,我使用的是由反射臨構建符號,雖然我的猜測是,它也將用於該OP詢問了微軟的符號工作。

訣竅是找到設置這個環境變量,以便你的w3wp.exe與啓用該設置推出了正確的地方。爲此,請在「HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment」中將名爲「COMPLUS_ZAPDISABLE」的字符串鍵添加到註冊表中。將鍵值設置爲「1」,並且這應該做到這一點。不要這樣做生產=)

榮譽給克萊夫童,來自紅門的this post作者指出我在正確的方向。

相關問題