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