前言
作為一個.net開發(fā)工程師,不管是在寫桌面程序、服務(wù)程序或web程序,在開發(fā)階段,我們必須非常熟悉vs的動態(tài)調(diào)試技能,當然web程序可能還需要調(diào)試前端的腳本或樣式,這不在本文的討論范圍。本文主要介紹vs的動態(tài)調(diào)試基本知識,以及介紹如何追蹤已發(fā)布的程序的調(diào)試日志或技能。
開發(fā)階段
本階段主要以動態(tài)調(diào)試為主,調(diào)試的利器當然是vs。
動態(tài)調(diào)試步驟:
1、擁有程序的代碼和pdb文件;
2、在你要觀察邏輯代碼行號下斷點;
3、vs->調(diào)試->開始調(diào)試(你可能需要條件來觸發(fā)讓程序執(zhí)行到你要的邏輯代碼行號);
4、對于已運行的程序,你也可以vs->調(diào)試->附加到進程 來完成啟動調(diào)試,如果已運行的程序是服務(wù)進程(非桌面進程),在附加到進程對話框要勾選上“顯示所有用戶的進程”;
斷點的條件過濾
在動態(tài)調(diào)試中,如果在多線程環(huán)境,一個斷點斷到之后,如果使用“逐語句”到下語句的話,斷點又會馬上被斷到,造成跟蹤上下文很不方便;還一種情況,在循環(huán)體里下斷,但是只想跟蹤符合一定條件的點。這些時候,應(yīng)使用條件斷點,在某代碼行號下斷,然后右鍵左邊紅色斷點實圈,彈出的菜單里可以給斷點設(shè)置條件,設(shè)置條件之后的斷點,叫條件斷點,vs顯示為紅色的虛圈。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26