在本文中,您將學習非常適合初學者的基本知識。 GDB 調試器 命令。プログラムをコンパイルして、デバッグのためにGDBに渡すことができるようにする方法を学習します。
使用終端構建和運行 C/C++ 程序
快速總結
了解如何在調試模式下啟動 C/C++ 程序。描述了一些最常用的 GDB 命令,例如: 假期, 步, 下一個, 跑,等瑣碎命令,Debugger,Debugger,Debugger,Debugger,瑞士軍刀。因此,讓我們深入了解 GDB 調試的基礎知識,無需進一步解釋。
使用 GDB 進行調試
調試是一項必不可少的編程技能。すべてのプログラマーは、組織的な目的であろうと個人的な目的であろうと、アプリケーションをデバッグする必要があります。ご存知のとおり、プログラマーはほとんどの時間を以前に作成されたコードのデバッグに費やしています。因此,一个人应该经常学习一些调试,以便他/她可以轻松地将自己从一些错误的麻烦中解脱出来,而不会浪费任何时间。
為什麼選擇 GDB?
大多數大型科技公司都被指示使用它。此外,對於 GDB,一個非常概念化的概念遍布用戶。 GDB命令行工具,其他讓軬䮩䮩們介紹時間可觀察的內部內容。學習一些非常基本和最重要的概念,例如內存分配,指針,內存地址操縱,最重要的是,想像您正在運行的程序中正在發生的事情。
一些基本的 GDB 命令
- 假期:
- 下一個: 該命令移至程序的下一行。假設第7行設置斷點,則用“next”或“n”一般悅到達第8行。
- 步: 此命令將您帶到當前正在運行的函數或代碼塊
- 印刷: 用於顯示各種變量或函數調用的值。 只需輸入“p”
- 跑:
- 繼續: 此命令移動到下一個斷點。
使用 GDB 調試 C++ 程序
讓我們看看這裡發生了什麼。 “二進制搜索“C++程序。
一個簡單的二分搜索程序的代碼
#include <iostream> #include <vector> using namespace std; int iterations_counter = 0; int binary_search(vector < int > arr, int s, int e, int key) { //base case iterations_counter++; if (s > e) return -1; int mid = (s + e) / 2; int index = -1; if (arr[mid] == key) index = mid; else if (arr[mid] > key) index = binary_search(arr, s, mid - 1, key); else index = binary_search(arr, mid + 1, e, key); return index; } int main() { cout << "Enter the elements of the vector(Press -1 to stop)" << endl; vector < int > arr; while (true) { int n; cin >> n; if (n == -1) break; arr.push_back(n); } cout << "Enter the key" << endl; int key; cin >> key; cout << "Index at which the key is found(0 based indexing, -1 indicates that the key is not present in the vector): " << binary_search(arr, 0, arr.size() - 1, key) << endl; cout << "Total Number of iterations required: " << iterations_counter << endl; }
如何編譯用於 GDB 的程序
“可以啟用-g
編譯時標記如下命令所示
g++ "your_file_name" -o "your_output_file_name" -g
發出以下命令開始調試
gdb "your_output_file_name"
讓我們把它放進去 斷點 主要是binary_search函數 跑 程序
將再次使用 步 什麼時候 下一個 (n)

利用 繼續 命令

利用 印刷 (p)


結論是
在本文中,您學習瞭如何使用 GDB Debugger 編譯程序進行調試以及一些最基本的調試命令和方法。使用 run、break、step、next、continue 和打印命令。