2010-02-03 53 views
22

我希望在靜態方法上設置一個斷點,以便我可以找出何時設置同步上下文。如何在.net框架內的方法上設置一個斷點

但是我找不到如何在我沒有源代碼的方法中設置斷點。

這應該是很容易!但是當我嘗試設置斷點從斷點窗口它識別方法的方法。)

回答

35

點擊調試時,Windows,斷點,單擊新建,休息在功能上,輸入System.Threading.SynchronizationContext.SetSynchronizationContext,然後單擊確定。

它會給你一個警告,你應該忽略。我試過了,它確實有效。


編輯伊恩·林格羅塞

我也不得不關閉「啓用僅我的代碼」中的調試配置設置。

啓動Visual Studio 2008並調出工具>選項>調試>常規。如果您在Visual Basic Profile下運行,則在繼續操作之前(其他配置文件不會有此選項),您需要選中標記爲「顯示所有設置」的選項對話框左下角的框。 設置以下設置: 關閉「啓用我的代碼」設置

+0

這就是我在第一時間做了,但是當我運行我的應用程序中的斷點顯示用黃色的警告標誌和工具提示說,斷點不會因爲符號未被加載而被擊中。 – 2010-02-03 14:57:07

+0

我不知道爲什麼會發生。我只是自己嘗試過,而且運作得很好。 – SLaks 2010-02-03 15:07:04

+0

謝謝我現在已經得到它的工作,看到我的編輯到您的答案 – 2010-02-03 15:39:24

4

可以調試.NET框架類。 你所要做的就是設置VS.NET,以便它能夠從微軟的一臺服務器上下載.NET框架的調試符號。

雖然您不能在.NET方法中設置斷點,但是,您將能夠進入.NET框架的另一種方法,並且在調試過程中,並且一旦踏入該方法方法(VS.NET已打開包含SetSynchronizationContext方法的文件),您將能夠在該方法上設置斷點。

有關如何安裝VS.NET,讓你可以調試.NET框架的信息,請點擊here

+0

+1作爲鏈接讓我工作出我必須打開的設置,但我不需要調試符號。 – 2010-02-03 15:36:33

+0

我使用的VS2015,我選擇只加載特定的符號,實際上我只添加了一個DLL,但它下載所有符號... – Legends 2016-06-08 23:23:48