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等視窗還可以用過如下方式開啟: