C++程式語言中的四個除錯技巧

馬特家的小丸子發表於2014-08-06
  1. 1、除錯標記
     
      適用預處理#define定義一個或多個除錯標記,在程式碼中把除錯部分使用#ifdef和#endif進行管理。當程式最終除錯完成後,只需要使用#undef標記,除錯程式碼就會消失。常用的除錯標記為DEBUG, 語句序列:
    #define DEBUG
    ......
    #ifdef DEBUG
    除錯程式碼
    #endif   
     
    2、執行期間除錯標記
  2. 在程式執行期間開啟和關閉除錯標記。通過設定一個除錯bool標記可以實現。這對命令列執行的程式更為方便。例如下面程式碼:
    #include
     using namespace std;
    bool debug =false;
    int main(int argc,char*argv[])
    { 
     for(int i=0;bool go=true;while(go)
          { if(debug) {除錯程式碼 }
              else {}
          }
    }  
  3. 3、使用前處理器巨集來控制除錯用的程式碼
    #define DEBUG
    #ifdef DEBUG
    #define DebugCode(){}
    #else
    #define DebugCode()
    #endif // DEBUG
    程式程式碼中
    DebugCode(){...}
    4、c語言的assert() 
    該巨集在中,,當使用assert時候,給他個引數,即一個判讀為真的表示式。前處理器產生測試該斷言的程式碼,如果斷言不為真,則發出一個錯誤資訊告訴斷言是什麼以及它失敗一會,程式會終止。
    #include< assert>
    using namsapce std;
    int main()
    { int i=100;
  4. assert(i!=100);
    //Fails}
    當除錯完畢後在#include
    前加入#define NDEBUG即可消除紅產生的程式碼}
    END
 經驗內容僅供參考,如果您需解決具體問題(尤其法律、醫學等領域

相關文章