VC 6 0 除錯方式

2021-06-22 23:59:20 字數 2071 閱讀 5154

**測試是我們開發過程中很重要的一步。很多新入行的朋友都會習慣地認為測試只是測試部門的工作,事實上並不是這樣。每一位軟體工程師對應該本著對自己**負責的態度,在入庫或者進行整合測試之前對自己的**進行充分的測試。那麼掌握**的除錯技巧和編寫測試用例就成為我們日常生活中很重要的乙個部分。本文就針對**除錯問題進行分析和解決。

除錯工具: visualstudio 6.0

(1)有的執行檔案能夠進行原始碼級除錯,而某些檔案卻只能指令級除錯?

答: 這主要取決於我們在編譯檔案的時候有沒有生成除錯資訊。在vc上面,如果你選擇了debug版本,那麼就會在debug目錄下面生成*.pdb檔案;相反,如果此時你選擇了release版本,那麼很抱歉你就不能進行原始碼級除錯。單擊【build】選單, 選擇【batch build】,你就會看到彈出乙個對話方塊,你可以選擇生成的執行檔案屬於debug版本還是release版本了。

(2)常見的除錯方法有哪些?

答: 常見的除錯流程是這樣的:

a)右擊滑鼠,建立乙個文字檔案,修改為process.c。輸入需要除錯的**。

b)右擊滑鼠,用visualstudio 6.0開啟。按下【ctrl + f7】,提示是否建立乙個工程,單擊【確認】,編譯器編譯process.c檔案。按下【f7】,link程式連線process.o檔案和lib庫,生成exe檔案。

c)單擊【f10】,process.exe處於除錯狀態,你會看到乙個黃色的箭頭停在main函式的起始位置,這樣我們的除錯過程就開始了。

d)通常除錯的操作有下面幾種: 

f10  單步除錯,如果遇到的是函式語句,跳過

f11  單步除錯,如果遇到的是函式語句,進入函式

shift +f11 執行到函式的結束位置

shift + f5  結束除錯狀態

f5  檔案繼續執行,直到遇到第乙個斷點

ctrl + shift + f5, 結束當前的除錯狀態,重新除錯檔案

alt + 3, 開啟watch視窗,你可以輸入你希望跟蹤的全域性變數或者是臨時變數,甚至是暫存器,表示式等,這樣可以相應的數值

alt + 7, 堆疊回溯

alt + 6, 記憶體空間查詢,你可以檢視制定位址的數值

alt  + 4, 檢視當前執行函式內部變數的一些數值

alt  + 5, 檢視cpu暫存器的數值,通常注意的數值有eax,ebp,esp,eip等

alt + 8,  當前的原始碼狀態會變成code和disassemble混編的狀態,方便你對語句的精確了解

(3) 如何實現**的精確除錯

答: 你可以按照如下步驟操作:

a) 【alt + f9】 開啟breakpoints視窗,選擇data

b)單擊乙個帶有右三角形的按鈕,彈出advanced breakpoint,輸入函式名稱

c) 在expression中輸入你希望程式接受除錯的條件,比如可以是下面的條件判斷

num == 2                   判斷 num 是否等於2

*(long*)0x5000        判斷制定記憶體的數值是否發生異動

(4) vc可以除錯多執行緒嗎?

答:    可以。

a)首先單擊【f10】,開啟檔案的除錯狀態

b)單擊【debug】選單,選擇【thread】子選單

c) 在這裡,你可以看到當前所有建立的執行緒,如果你需要對某乙個執行緒進行除錯,那麼先把你需要除錯的執行緒設定為set focus狀態,另外乙個thread設定為suspend狀態,與此同時resume你需要除錯的thread即可。

(5)怎麼利用vc測試**覆蓋率,函式覆蓋率等?

答案: 首先,你需要刪除當前已經生成的debug下面所有的檔案;

然後單擊【project】->【setting】, 選擇【link】,在【enable profiling】在前面打鉤

接著編譯、連線生成exe執行檔案

最後單擊【build】->【profile】, 彈出【profile】視窗, 選擇你需要測試的選項,單擊【ok】,程式就會自動執行。同時執行的結果會在output視窗列印出來。

vc6 0 除錯小結

現在都用vs2008了,vc6的速度還是很懷念,來個小結吧。斷點相關快捷鍵 1.f9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點.f5除錯狀態執行程式,程式執行到有斷點的地方會停下來.f10單步執行程式.ctrl f10執行到游標所在行.f11和f10的區別是,如果當前執行語句是函式呼...

VC 6 0遠端除錯

先明確下概念,遠端除錯嘛,自然是兩個機器之間除錯。程式執行在目標機器上,偵錯程式執行在本機。當然,目標機器上還是要有少許輔助程式才能跟本機的偵錯程式connect上,以便通訊。一般來說,只需要copy四個檔案到目標機器上就行了 msvcmon.exe dm.dll tln0t.dll和msdis11...

VC 6 0遠端除錯

vc開發環境之所以提供遠端除錯的能力,是因為有些情況下單機除錯會讓你崩潰掉。比如,除錯gui程式的wm paint訊息,因為要單步除錯,所以偵錯程式會對介面的重繪產生 heisenberg不確定性原理 當然還有些別的情況也適用,比如程式在測試環境執行的好好的,但是在客戶那行為總是異常,這時候如果可以...