程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 經驗分享:C++編程中的四個調試小技巧

經驗分享:C++編程中的四個調試小技巧

編輯:C++入門知識

下面介紹C++編程的四個小技巧,供大家參考。

1.調試標記

適用預處理#define定義一個或多個調試標記,在代碼中把調試部分使用#ifdef 和#endif 進行管理。當程序最終調試完成後,只需要使用#undef標記,調試代碼就會消失。常用的調試標記為DEBUG, 語句序列:

#define DEBUG 

#ifdef DEBUG

調試代碼 

#endif

2.運行期間調試標記

在程序運行期間打開和關閉調試標記。通過設置一個調試bool標記可以實現。這對命令行運行的程序更為方便。

例如下面代碼

  1. #include<iostream>  
  2. #include <string>  
  3. using namespace std;  
  4. bool debug =false;  
  5. int main(int argc,char*argv[])  
  6. {  
  7.  for(int i=0;i<argc;i++)  
  8. if(string(argv[i])==“--debug=on“)  
  9. debug = true;  
  10. bool go=true;  
  11. while(go)  
  12. {  
  13.  if(debug)  
  14.  {  
  15. 調試代碼  
  16.  }else {}  
  17. }  

3.把變量和表達式轉換成字符串

可是使用字符串運算符來實現轉換輸出定義

  1. #define PR(x) cout<<#x”=”<<x<<'\n' 

4.c語言的assert()

該宏在<assert>中,,當使用assert時候,給他個參數,即一個判讀為真的表達式。預處理器產生測試該斷言的代碼,如果斷言不為真,則發出一個錯誤信息告訴斷言是什麼以及它失敗一會,程序會終止。

  1. #include< assert>  
  2. using namsapce std;  
  3. int main()  
  4. {  
  5. int i=100;  
  6.  assert(i!=100); //Fails  
  7. }  
  8. 當調試完畢後在#include<assert>前加入#define NDEBUG即可消除紅產生的代碼  

希望本文對你有幫助,一起來看。

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