如何進行C語言的調(diào)試!

在調(diào)試代碼時,有時會遇到報錯的的函數(shù)是沒問題,而是調(diào)用它的函數(shù)傳入的參數(shù)是異常的,而又沒法通過代碼準確定位到具體調(diào)用的位置的情況,特別是對一些基礎(chǔ)函數(shù),往往會出現(xiàn)這種情況,因為工程中調(diào)用它們的地方太多,而且有時會漏掉返回值檢測。這里給出一個快速找出調(diào)用者是誰的方法。

想要一起學(xué)習(xí)C語言C++可以加群666+295+498邀請碼(夏熱),群里有大量學(xué)習(xí)資源

//filename: tt.h//filename: tt.c//filename: main.c

未定義#define foo(_a)宏時執(zhí)行結(jié)果如下(將tt.h中定義foo的那段代碼注釋掉):

$ cc main.c tt.c

定義了#define foo(_a)宏之后執(zhí)行結(jié)果如下:

$ cc main.c tt.c

通過定義與函數(shù)一致的宏,調(diào)用的時候執(zhí)行了修改了之后的代碼,這樣我們就可以在其中添加一些我們需要的信息,方便我們調(diào)試。

文末奉上炸彈人得部分代碼(喜歡得可以@小編呦)

/{}AFX_DATA_INIT

// TODO: add construction code here

m_bStart=false; // 游戲未開始

m_nTypeMode=1; // 默認的游戲模式類型

m_bBG=true; // 默認背景單項滾動

m_nBG=0; // 默認選中的背景為0

m_nMonster=5; // 初始怪物數(shù)量為5

m_nScore=-1; // 分數(shù),初始為-1

m_nPass=-1; // 通關(guān)數(shù),初始為-1

m_nMud=30; // 泥墻數(shù)量,初始為30

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容