前言
作為一個(gè).net開發(fā)工程師,不管是在寫桌面程序、服務(wù)程序或web程序,在開發(fā)階段,我們必須非常熟悉vs的動(dòng)態(tài)調(diào)試技能,當(dāng)然web程序可能還需要調(diào)試前端的腳本或樣式,這不在本文的討論范圍。本文主要介紹vs的動(dòng)態(tài)調(diào)試基本知識,以及介紹如何追蹤已發(fā)布的程序的調(diào)試日志或技能。
開發(fā)階段
本階段主要以動(dòng)態(tài)調(diào)試為主,調(diào)試的利器當(dāng)然是vs。
動(dòng)態(tài)調(diào)試步驟:
1、擁有程序的代碼和pdb文件;
2、在你要觀察邏輯代碼行號下斷點(diǎn);
3、vs->調(diào)試->開始調(diào)試(你可能需要條件來觸發(fā)讓程序執(zhí)行到你要的邏輯代碼行號);
4、對于已運(yùn)行的程序,你也可以vs->調(diào)試->附加到進(jìn)程 來完成啟動(dòng)調(diào)試,如果已運(yùn)行的程序是服務(wù)進(jìn)程(非桌面進(jìn)程),在附加到進(jìn)程對話框要勾選上“顯示所有用戶的進(jìn)程”;
斷點(diǎn)的條件過濾
在動(dòng)態(tài)調(diào)試中,如果在多線程環(huán)境,一個(gè)斷點(diǎn)斷到之后,如果使用“逐語句”到下語句的話,斷點(diǎn)又會馬上被斷到,造成跟蹤上下文很不方便;還一種情況,在循環(huán)體里下斷,但是只想跟蹤符合一定條件的點(diǎn)。這些時(shí)候,應(yīng)使用條件斷點(diǎn),在某代碼行號下斷,然后右鍵左邊紅色斷點(diǎn)實(shí)圈,彈出的菜單里可以給斷點(diǎn)設(shè)置條件,設(shè)置條件之后的斷點(diǎn),叫條件斷點(diǎn),vs顯示為紅色的虛圈。