加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Dev C++ 調(diào)試功能詳細(xì)總結(jié)

2023/03/05
4031
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

今天主要介紹下這個(gè)軟件的調(diào)試功能。

對(duì)于編程學(xué)習(xí),可以說調(diào)試能力是最重要的技能,沒有之一!尤其是C/C++/Linux開發(fā),有相當(dāng)部分時(shí)間都會(huì)花在調(diào)試上,對(duì)于這部分后續(xù)還會(huì)有更加系統(tǒng)的總結(jié)。所謂調(diào)試程序,就是控制編譯器一行一行地執(zhí)行代碼,過程中可以清楚看到每個(gè)變量值的變化情況、函數(shù)的調(diào)用過程等,進(jìn)而發(fā)現(xiàn)程序中隱藏的錯(cuò)誤或者低效的代碼。

首先先確認(rèn)下你的Dev C++調(diào)試配置是否正常,有些很常見的問題提前確認(rèn)下。

1.工具欄中,選擇編譯選項(xiàng)


2.開啟產(chǎn)生調(diào)試信息,這個(gè)不開會(huì)導(dǎo)致無法進(jìn)入調(diào)試模式

3.error-begin No source file named xxx的錯(cuò)誤解決有些同學(xué)可能調(diào)試的時(shí)候會(huì)遇到,如果沒有可以跳過,方法是依次添加下邊的配置

-g3-static-libstdc++ -static-libgcc -g3gcc.exe -D__DEBUG__g++.exe -D__DEBUG__

4.正式開始調(diào)試,以下邊的代碼為例子,有電腦的同學(xué)可以直接實(shí)踐下

 1#include?<stdio.h>
 2
 3int?main()?{
 4????int?n,?cnt?=?0;
 5
 6????scanf("%d",?&n);
 7????for(int?j?=?0;?j?<?n;?j?++)?{
 8????????cnt?=?cnt?+?1;
 9????}
10????printf("%d",?cnt);
11
12????return?0;
13}

添加斷點(diǎn),這是調(diào)試功能的核心,下邊是幾個(gè)步驟:

1.左鍵添加斷點(diǎn),主要是在比較容易出錯(cuò),或者有懷疑點(diǎn)的位置

2.添加變量查看,可以實(shí)時(shí)看到代碼中變量的值,非常的直觀

3.點(diǎn)擊②后,會(huì)有③窗口,添加代碼中變量名即可

4.輸入回車后,在左側(cè)④調(diào)試窗口就會(huì)出現(xiàn)變量的實(shí)時(shí)值

點(diǎn)擊調(diào)試或者按F5啟動(dòng)調(diào)試功能,會(huì)出現(xiàn)黑色的控制臺(tái)窗口

此時(shí)根據(jù)代碼,代碼會(huì)走到第六行scanf等待你的鍵盤輸入

這里我們輸入5回車

斷點(diǎn)行會(huì)變?yōu)樗{(lán)色,意味著此時(shí)代碼運(yùn)行到第8行并停止

左側(cè)變量n由于執(zhí)存儲(chǔ)了鍵盤的輸入變?yōu)榱?,cnt由于還沒有執(zhí)行仍為0


點(diǎn)擊下一步,代碼會(huì)繼續(xù)執(zhí)行一行,根據(jù)邏輯會(huì)運(yùn)行到for循環(huán)入口,cnt由于執(zhí)行了一次變?yōu)榱?,而n由于沒有操作所以還是5

另外幾個(gè)調(diào)試功能的作用(都可以動(dòng)手實(shí)踐下):

    • 下一步:控制編譯器向下執(zhí)行一行語句;單步進(jìn)入:功能和“下一步”按鈕類似,不同之處在于,當(dāng)程序中調(diào)用某個(gè)自定義的函數(shù)時(shí),此按鈕可以進(jìn)入到函數(shù)內(nèi)部,繼續(xù)調(diào)試函數(shù)內(nèi)部的代碼,而 “下一步” 按鈕不會(huì);跳過:繼續(xù)執(zhí)行程序,遇到下一個(gè)斷點(diǎn)暫停執(zhí)行;停止執(zhí)行:停止調(diào)試程序。

當(dāng)最后執(zhí)行完for循環(huán),printf函數(shù)會(huì)輸出結(jié)果5到控制臺(tái),左側(cè)cnt值也增長(zhǎng)到了5

這就是一次相對(duì)比較簡(jiǎn)單的調(diào)試了,大家可以親自動(dòng)手實(shí)踐下,可能會(huì)到各種奇怪的問題,都非常正常,開發(fā)本就是解決問題的一個(gè)過程,這個(gè)調(diào)試雖然簡(jiǎn)單,但是基本的原理就是這樣了,對(duì)于很多項(xiàng)目中都可以用到。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜