1. 程式人生 > 其它 >使用Visual Studio 除錯斷點不起作用的問題解決辦法 除錯Revit CAD 不能進入斷點

使用Visual Studio 除錯斷點不起作用的問題解決辦法 除錯Revit CAD 不能進入斷點

隨著Visual Studio 2010正式版的釋出,相信不少人都像我一樣升級到了Visual Studio 2010。那麼您在使用VS2010在AutoCAD,Map 3D或Revit的.net應用程式開發時,多半也會遇到除錯時斷點總是不起作用的問題吧。Kean和Jeremy最近分別寫了文章提到了幾個解決辦法,在這裡給大家共享一下,原文請參考Hitting breakpoints in .NET Class Libraries while debugging with Visual Studio 2010 和Debugging with Visual Studio 2010 and RvtSamples

更新:

  如果你是用VS2010+ AutoCAD 2012系列產品除錯中發現問題,請參考峻祁連的另外一篇文章:

Visual Studio 2010開發AutoCAD 2012 .net 應用程式除錯時斷點不起作用

斷點不起作用的原因在於Visual Studio 2010在除錯時啟動了預設的debugger(v4.0),但是為了讓我們的.net應用程式能在AutoCAD Map (或Revit)等上執行,我們需要.net 2.0 framework( 3.5也是執行在CLR 2.0之上的)。

解決辦法我們有如下兩個方案:

方案1

編輯宿主程式的config 檔案(acad.exe.config, revit.exe.config等等),這個檔案在AutoCAD的安裝目錄下。在</configuration>前面加上下面的程式碼:

<startup>
<supportedRuntime version="v2.0.50727" />
</startup>

方案2

把宿主exe檔案作為一個已有的專案加到您的解決方案中,並把debugger設定為v2.0

  • 右鍵單擊Solution Explorer,選擇Add->Existing Project,瀏覽到AutoCAD的啟動檔案Acad.exe
  • 右鍵單擊該專案,把它設定為啟動專案 Set as StartUp Project
  • 開啟專案屬性對話方塊 Properties   
  • 設定 Debugger Type 為 Managed v2.0 

好了,打完收工,現在再設定斷點就可以按照以前的方法跟蹤除錯了。