1. 程式人生 > >C++ 編譯器code::blocks 如何debug

C++ 編譯器code::blocks 如何debug

首先, 開啟code::blocks出現如下:

上述的檢視效果是已經調好的。 沒有調好的時候, 我們可以通過工具欄上的view新增調整, 具體位置如下:

為了說明如何去除錯一個程式, 下面舉一個例子:

(1)建立一個公正, 工程中會預設帶一個hello world的一個主程式。

(2)將main函式中不用的程式塊全部註釋掉: 方法是選中需要註釋的程式塊, 在edit 下找到comment, 點選即可:

點選完成後, 效果如下, 可見選中的程式都被註釋掉了:

言歸正傳, 接下來下一段程式碼, 演示如何去除錯, 注意除錯的視窗在下圖位置:

 

編寫的程式如下:

#include <iostream>

using namespace std;

int main()
{
    int x, y, z;
    cout << "Enter first number: ";
    cin >> x;
    cout << endl;
    
    cout << "Enter second number: ";
    cin >> y;
    
    cout << endl;
    cout << "The sum: ";
    z = x + y;
    
    cout << z;
//    cout << "Hello world!" << endl;
//    cout << "easy way to comment block of code";
    return 0;
}


(3)除錯程式的第一步就是設定斷點(break point), 設定完斷點之後, 我們執行到斷點處, 一步一步的執行, 以便跟蹤各個變數的實際情況, 以及程式執行的流程:

我們將斷點設定在8處, 如下:

接下來, 就可以debug 了:

點選如下:

程式會在斷點處(第八行不會執行)停下來:

接下里, 我們一行一行的執行, 首先執行第八行(debuger 裡面最後一行顯示的是要執行的下一條語句), 可以點選step into(或者快捷鍵shift + F7):

執行效果如下:

注意, 此時不能再終端中輸入一個數字。 必須先執行第9行,才能。 再次點選step into, 運動第9行:

點選Enter , 接收輸入, 進入下一條語句:

再一次點選step into, 執行下一行:

依次類推, 最終:

上述只是單步執行的執行效果。 我們還可以檢視執行到每一步的時候, 對應的區域性變數, 函式引數等等的變化情況。 開啟warches 可以檢視:

由上圖可知, 還可以檢視函式呼叫情況, 記憶體情況, 暫存器的使用情況等等:

附: watches等視窗還可以用過如下方式開啟: