上次我們提到,沒有源代碼而且沒有調(diào)試符號(hào),我們也可以 Debug。有人可能會(huì)問,我什么時(shí)候需要在這種情況下調(diào)試嗎?!
是的。比方說,我們用了某些第三方的組件,這些組件里面難免也會(huì)有 Bug。就算是微軟發(fā)布的 .net 組件,我們在某些個(gè)別的例子中發(fā)現(xiàn)了 Bug。就算這些人家的組件都沒有問題,有時(shí)候我們也不得不在程序運(yùn)行到組件中的某些語句時(shí)候查看一些數(shù)據(jù)。
舉個(gè)栗子:我們的程序用了某個(gè)組件A。當(dāng)用戶鼠標(biāo)單擊A的一個(gè)窗口的時(shí)候,A的某個(gè)方法應(yīng)該回掉我們的一個(gè)方法??墒撬谷粵]有(我們在自己的方法上加了斷點(diǎn),沒有被擊中)!如果我們在這個(gè)時(shí)候能夠給組件中點(diǎn)擊事件的處理函數(shù)加上斷點(diǎn),我們就可以探一探究竟了。
下面我們就從易到難來看看如何調(diào)試別人家的組件。
我們先來看如何調(diào)試 .NET Framework 的組件。
1. 我們對(duì) VS 的 Options -> Debugging -> General 做一些配置,如下圖:
Screenshot of options window
2. 我們要緩存 .NET 的調(diào)試符號(hào), 到 Options -> Debugging -> Symbols, 設(shè)置 Cache symbols in this directory 到一個(gè)本地的路徑。
配置完成,我們來做個(gè)實(shí)驗(yàn)。我們知道每個(gè) WPF 的窗口的構(gòu)造函數(shù)內(nèi)都會(huì)調(diào)用一個(gè) InitializeComponent() 方法。我們今天想看看這個(gè)方法它到底干了什么?;谝陨蟽牲c(diǎn)配置,我們新建一個(gè) WPF 程序,然后給這個(gè)方法設(shè)斷點(diǎn),當(dāng)程序運(yùn)行到該語句時(shí),我們點(diǎn)擊F11,哈,我們就進(jìn)入了微軟的代碼,請看:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式