程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 跟蹤與中間過程輸出

跟蹤與中間過程輸出

編輯:關於C語言

 

  也許一個開發人員一半以上的時間都是在面對錯誤,所以好的調試/查錯方法(工具)會減輕我們工作的負擔,也可以讓枯燥的DEBUG過程得以縮短。

  VC開發環境所提供的調試環境是很優秀的,我們可以運用單步運行,設置斷點的方法來查找問題所在。但是這種跟蹤是非常耗時的,所以我們需要采用一些策略來讓我們更容易的發現錯誤並對錯誤進行定位,所幸的是VC在這方面提供了強大的支持。在本節中我們先看看如何利用設置斷點和利用TRACE宏來輸出運行情況。

  在VC開發環境中按下F9就可以在光標所在行設置斷點,再按一次就可以取消該處斷點。設置斷點的意義在於在調試過程當運行到該行時回產生一個中斷並返回到VC開發環境中,在開發環境中你可以查看各個變量的值。下面是我們用於測試的代碼,前面有紅色圓形的行表示該行設置有斷點:

一般來講設置斷點有下面的技巧:

  • 設置在進行判斷的代碼處,這樣可以在運行時可以觀察判斷所依賴的條件是否正確。
  • 設置函數開始處,觀察該函數所依賴的變量是否都設置正確。
  • 設置函數結束處,觀察該函數對變量的改變是否正確。
  • 設置進入其他函數前/後,通過黑盒法檢查該函數功能是否正確。
  • 對於循環體,應該先測試一個循環次數小的條件來檢查循環邏輯是否正確,或者在循環的前幾次設置斷點,在運行幾次後取消斷點。

在調試過程中到達斷點處你可以通過上下文變量窗口(Variables)觀察該函數中的變量的值,如果需要觀察未在該函數出現的全局變量或者類成員變量這需要將變量名添加到觀察窗口(Watch)中輸入變量名稱。但程序編譯完成後請按下F5鍵以調試的方式執行程序,當進入斷點時VC開發環境會被自動激活,然後我們可以可以觀察程序的運行情況。在調試過程中也可以添加和刪除斷點。如下圖:

  如果在運行過程中被觀察的變量的值發生了變化則該變量在觀察窗中會變為紅色。

MFC中提供的TRACE宏可以幫助我們在程序調試運行過程中方便的輸出調試信息。TRACE宏的定義為:TRACE(exp),其中的表達式使用與printf相同的表達方法。例如下面的代碼:

void CSam_sp_31Dlg::OnTest2()
{
         static int i=5,j=50;
         char szDeb[]="debug string";
         TRACE("trace i=%d j=%d
string=%s
",i,j,s						

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved