dev?c++的使用和調(diào)試方式
dev c++ 的使用和調(diào)試
使用斷點(diǎn)調(diào)試
1.若無(wú)法調(diào)試:
工具–>編譯選項(xiàng)–>代碼生成/優(yōu)化–>連接器–>產(chǎn)生調(diào)試信息–>no改成yes
2.調(diào)試的基本步驟:
- 一、把右上角的release模式改成debug模式
- 二、設(shè)置斷點(diǎn)
- 三、點(diǎn)擊全部編譯,在點(diǎn)擊對(duì)勾即可
(有藍(lán)色的箭頭表示,還沒(méi)有執(zhí)行,即將要執(zhí)行的語(yǔ)句,但是藍(lán)色一行以上的,變量可以通過(guò)調(diào)試后的進(jìn)行查看的兩種方式,
- ① 添加查看,來(lái)輸入變量值,并查看
- ② 選中變量或表達(dá)式,在點(diǎn)擊添加查看,即可看見(jiàn)左側(cè)欄的變量值)當(dāng)然通過(guò)終端控制臺(tái)也可以觀察變量的值;
關(guān)于循環(huán)語(yǔ)句斷點(diǎn)的設(shè)置和查看:
在循環(huán)的開(kāi)頭和結(jié)尾分別往下依次設(shè)立斷點(diǎn),通過(guò)終端,便可查看語(yǔ)句執(zhí)行的進(jìn)度
3.調(diào)試的按鈕及功能:
- 下一步:執(zhí)行下一個(gè)語(yǔ)句,把函數(shù)當(dāng)成一個(gè)語(yǔ)句直接給出結(jié)果
- 單步進(jìn)入:執(zhí)行下一個(gè)語(yǔ)句,遇見(jiàn)函數(shù),則進(jìn)入函數(shù),單步執(zhí)行(觀察循環(huán)和函數(shù)中變量的變換的最好方式)
- 跳過(guò):執(zhí)行直到下一個(gè)斷點(diǎn)之前,如果沒(méi)有下一個(gè)斷點(diǎn),則直接執(zhí)行到結(jié)束
4.端點(diǎn)常見(jiàn)錯(cuò)誤:
- ① 正常情況下(沒(méi)有bug)會(huì)停在斷點(diǎn)處,呈現(xiàn)藍(lán)色箭頭,如果有bug,斷點(diǎn)處依舊為紅色,則說(shuō)明還語(yǔ)句就沒(méi)有執(zhí)行到,過(guò)者不被執(zhí)行,因?yàn)闆](méi)有滿足條件
- ② 調(diào)試報(bào)錯(cuò):?當(dāng)執(zhí)行了一個(gè)無(wú)效的內(nèi)存引用,即操作了一個(gè)空地址,或者數(shù)組越界,就會(huì)報(bào)錯(cuò)
例如:char a[100000000000],就會(huì)報(bào)錯(cuò),因?yàn)?,根本沒(méi)有這么大的數(shù)值,已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了它本身的字節(jié)長(zhǎng)度,在調(diào)試的時(shí)候會(huì)報(bào)錯(cuò)。
所以char a[100],就可以,表是a有100個(gè)字符,每個(gè)字符可以寫成1000000000……一百個(gè)
5.調(diào)試中出現(xiàn)的問(wèn)題:
一、當(dāng)在調(diào)試中無(wú)法往下進(jìn)行scanf輸入的時(shí)候,一定是循環(huán)條件出現(xiàn)了問(wèn)題,甚至在調(diào)試的時(shí)候出現(xiàn)了報(bào)錯(cuò),說(shuō)明該輸入語(yǔ)句有問(wèn)題,請(qǐng)及時(shí)查閱關(guān)于此處的相關(guān)知識(shí)。
還有可能是數(shù)組越界,還有可能陷入了死循環(huán),通常時(shí),(循環(huán)語(yǔ)句,時(shí)先執(zhí)行i++之類的,還是執(zhí)行循環(huán)while)引起的,要小心。
二、在scanf函數(shù)出調(diào)試的時(shí)候,一定先寫下一步(或者單步進(jìn)入)在在終端中輸入值->回車,在進(jìn)入下一步(單步進(jìn)入)
6.使用問(wèn)題:
dev C++ 中的代碼覆是因?yàn)椴恍⌒陌戳薸nsert引起的插入模式,取消的話,在按一下insert
使用cout/printfl函數(shù)來(lái)打印變量
在每一條循環(huán)或語(yǔ)句中用printf/cout 輸出變量,并查看某幾個(gè)變量的值,看該變量是否正確,不正確就是printf語(yǔ)句上面出現(xiàn)了錯(cuò)誤,仔細(xì)想想就ok,
如果所有的變量都是正確的值,變問(wèn)題就出現(xiàn)在下printf函數(shù)的下方。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言自研定時(shí)器計(jì)劃任務(wù)語(yǔ)法詳解
市面主流定時(shí)器計(jì)劃任務(wù)語(yǔ)法: cron ,但是使用起來(lái)非常難受,設(shè)計(jì)的比較非人性話語(yǔ)法,我想一般人都沒(méi)幾個(gè)記住的,所以本文將自研定時(shí)器計(jì)劃任務(wù)語(yǔ)法,需要的可以參考一下2022-09-09Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟
本文主要介紹了Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟,包含QCryptographicHash和Qt-AES兩種庫(kù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03C語(yǔ)言遞歸之漢諾塔和青蛙跳臺(tái)階問(wèn)題
這篇文章主要介紹了C語(yǔ)言遞歸之漢諾塔問(wèn)題和青蛙跳臺(tái)階問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04C++中獲取字符串長(zhǎng)度的函數(shù)sizeof()、strlen()、length()、size()詳解和區(qū)別(推薦)
在C++中計(jì)算長(zhǎng)度的函數(shù)有四種,它們分別是sizeof()?,size(),strlen(),str.length(),這篇文章主要介紹了C++中獲取字符串長(zhǎng)度的函數(shù)sizeof()、strlen()、length()、size()詳解和區(qū)別,需要的朋友可以參考下2023-02-02C語(yǔ)言結(jié)構(gòu)體詳細(xì)圖解分析
C 數(shù)組允許定義可存儲(chǔ)相同類型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許你存儲(chǔ)不同類型的數(shù)據(jù)項(xiàng),本篇讓我們來(lái)了解C 的結(jié)構(gòu)體2022-03-03