使用DEV C++調試代碼


0.序言

本片博客旨在記錄通過DEV C++工具調試C/C++代碼,在這之前需要對以下知識了解或掌握。

1.開發工具配置

我所使用的DEV C++版本為5.11,默認設置就已經支持調試了,看其他博客經常會提到默認設置無法調試,可能是使用的舊版本4.xx。這里記錄一下他們修改默認設置為可調試的步驟

  • 添加std標准庫版本設置

    工具》編譯選項》編譯器》編譯時加入以下命令:

    -g3

  • 打開調試信息

    還是這個窗口,打開代碼生成/優化選項卡》連接器》

    修改產生調試信息為Yes

經過測試,上述配置會在編譯過程添加這些選項

# 預處理->生成xxx.i文件->編譯->生成xxx.s文件->匯編->生成xxx.o文件
# 
g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"D:/software/Dev-Cpp/MinGW64/include" -I"D:/software/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/software/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"D:/software/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++" -g3 -std=c++11

# 鏈接
g++.exe -D__DEBUG__ main.o -o "hello world.exe" -L"D:/software/Dev-Cpp/MinGW64/lib" -L"D:/software/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc -g3

更多完整的選項可以參考官網的文檔說明

2.調試所需源代碼

#include <iostream>
using namespace std;

int add (int a , int b){
	return a+b;
}

int main(int argc, char** argv) {
	int a = 1+1;
	cout << "hello world!";
	int b = 1+2;
	int c = add(a,b);
	int d = 1+3;
	int e = 1+3;
	return 0;
}

代碼內容很簡單,這里就不展開解釋。

3.調試過程詳解

可以去菜單欄運行下面的子菜單,了解一下每一個菜單的作用

Snipaste_2019-10-25_11-47-50.png

你也可以通過工具欄的圖標來實現同樣的效果。

Snipaste_2019-10-25_11-48-31.png

點擊全部重新編譯(快捷鍵F12),可以看到編譯日志記錄如下:

重新生成整個項目...
--------
- 項目文件名: D:\otherworkspace\devcppworkspace\hello world\hello world.dev
- 編譯器名: TDM-GCC 4.9.2 64-bit Debug

生成 makefile...
--------
- 文件名: D:\otherworkspace\devcppworkspace\hello world\Makefile.win

正在處理makefile...
--------
- makefile處理器: D:\software\Dev-Cpp\MinGW64\bin\mingw32-make.exe
- 命令: mingw32-make.exe -f "D:\otherworkspace\devcppworkspace\hello world\Makefile.win" clean all

rm.exe -f main.o "hello world.exe"

g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"D:/software/Dev-Cpp/MinGW64/include" -I"D:/software/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/software/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"D:/software/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++" -g3

g++.exe -D__DEBUG__ main.o -o "hello world.exe" -L"D:/software/Dev-Cpp/MinGW64/lib" -L"D:/software/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc -g3

g++.exe -D__DEBUG__ main.o -o "hello world.exe" -L"D:/software/Dev-Cpp/MinGW64/lib" -L"D:/software/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc -g3


編譯結果...
--------
- 錯誤: 0
- 警告: 0
- 輸出文件名: D:\otherworkspace\devcppworkspace\hello world\hello world.exe
- 輸出大小: 1.88690853118896 MiB
- 編譯時間: 2.42s

開始調試代碼:

添加以下斷點

Snipaste_2019-10-25_11-50-34.png

點擊開始調試按鈕之后,可以看到當前運行行背景顏色為藍色。

調試相關窗口說明如下圖。

最常見的按鈕就是調試,單步進入和停止執行

Snipaste_2019-10-25_11-53-40.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM