最早遇到的問題是關於AutoCAD 2010在VS 2010上無法調試。奇怪的是這問題只出現在我同事電腦上,我的電腦一切OK,我暗喜^_^,莫非是人品問題。
開發環境:Windows XP SP3+VS2010+AutoCAD2010
這裡主要討論以下幾個問題:
1、AutoCAD 2010在VS 2010上無法命中斷點問題;
2、調試AutoCAD 2010在VS 2010 中的實現自定義添加;
3、設置斷點,它顯示一個空的圓圈,當前不會命中斷點,還沒有為該文檔加載任何符號。
關於問題1,斷點不起作用的原因歸結為Visual Studio 2010不會選擇正確的版本的調試器,在調試時啟動了默認的debugger(v4.0),此調試器不會看到針對舊版本的.NET 項目中的斷點,但是為了讓我們的.NET應用程序能在AutoCAD 2010等上運行,我們需要.NET Framework 2.0( 3.5也是運行在CLR 2.0之上的)。
下面提供三種方法使VS 2010 在這些項目上使用正確的調試器 。哪種解決方案最適合您將取決於您具體的方案(我會傾向於解決方案2,夠簡單)。
解決方案1
啟動AutoCAD2010程序,加載您開發的組件(可以通過寫入注冊表的方式實現自動加載),然後將它(acad.exe)附加到VS2010中(調試->附加到進程)。需要注意的是選擇代碼類型默認是自動確定類型的,少數情況自動確定的類型並不一定正確,這時候會出現無法加載符號的情況,即問題3所描述,所以需要我們手動勾選代碼類型。
解決方案2
修改AutoCAD的配置文件,這個文件在AutoCAD的安裝目錄下。打開配置文件(acad.exe.config)如下:
修改配置文件,以便它包含 節點,如下:
解決方案3
把宿主acad.exe文件作為一個已有的項目添加到您的解決方案中,並把debugger設置為v2.0。
右鍵單擊Solution Explorer,選擇添加->現有項目,浏覽到AutoCAD的啟動文件Acad.exe
右鍵單擊該項目,把它設置為啟動項目 設為啟動項目
打開項目屬性對話框
設置 調試器類型 為 托管(3.5、3.0、2.0版)
至此,可以正常調試了。
vs2010無法命中斷點的解決方案:
1、JS代碼調試需要檢查IE浏覽器中JS調試是否禁用;並且只能用IE浏覽器;
2、IE8 IE9無法調試檢查注冊表
HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
增加dword鍵TabProcGrowth,值為0就行
如果已經存在該鍵值,檢查該鍵值是否為0
VS2010 調試時無法命中斷點的有關問題:
-----解決方案--------------------
1.你的調試浏覽器是否非IE,我用遨游就無法命中斷點,改回IE7就可以。
------解決方案--------------------
哦,你的asp.net項目裡,項目屬性中web欄下面的調試器有沒有勾上silverlight調試器?
我的是開了silverlight和asp.net調試器,沒開本機代碼和sql server。
另外沒用過IE8,能否支持調試我就不清楚了。
------解決方案--------------------
網上有資料說silverlight調試器和asp.net調試器不能共存,否則無法調試silverligth項目,但我都開了也沒事,你可以試試只開silverlight調試器。
這都不行我就無解了 ,呵呵。
------解決方案--------------------
樓主重新裝一下.net3.5試試看。。。
------解決方案--------------------
那你不妨換成IE7,呵呵。其實silverlight4跟.NET3.5沒關系,它是.NET4下的。
------解決方案--------------------
1、清理sl和web項目
2、在web項目中 選擇浏覽方式
3、選擇默認浏覽方式為 IE或者 360
4、直接浏覽
------解決方案--------------------
先右鍵 Clean ,再build 就 OK!!!!!!!!!!!!