2012-01-19 191 views
0

這是一個奇怪且非常煩人的問題。 我正在使用Visual Studio 2010進行ASP.NET webforms項目。我能夠在ActiveX控件中設置斷點,加載頁面,然後將Visual Studio調試器附加到運行的Internet Explorer進程(顯示爲Type'Script,T-SQL,Managed),然後重新加載頁面,並且我的斷點是擊中。然而,經過幾次微小的細微變化(以及大量的整理變化),當我做同樣的事情時,我的斷點沒有被擊中。斷點看起來沒問題 - 主要變化是當我查看Debug> Windows> Modules屏幕時,即使調試器仍與它連接,現在也沒有引用iexplore進程。 我有點不情願撤消我所有的更改,但我懷疑它可能是IP地址。大多數代碼應該作爲ipv4地址運行,但我懷疑Visual Studio調試器是使用ipv6地址運行的。使用Visual Studio 2010調試ActiveX控件

有沒有人遇到過這種類型的問題,其中ip地址版本搞亂了調試過程?

回答

0

好的,一週後找到解決方案!這與IP地址無關。 ActiveX組件僅限於.NET 3.5.0,因此當它由IE加載時,它運行在.NET 2.0中。該項目的其餘部分是.NET 4.0,當Visual Studio調試它時會自動調試默認爲.NET 4.0的代碼類型「Automatic:Native」。雖然我可以附加到IE進程,並且所有的斷點看起來都很好(實心圓圈),但沒有一個命中,因爲沒有加載符號。當連接到IE進程時點擊'Select'按鈕,允許我選擇Managed(v2.0,v1.1,v1.0)代碼,並且擊中了斷點。您無法同時調試.NET 4.0和.NET 2.0,但可以使用兩個獨立的Visual Studio實例來調試完整的項目。 希望這可以幫助像我一樣絆倒這個人的其他人。