GDB常用命令詳解

一、調試工具gdb常用命令匯總

gdb是一款強大的調試工具,可以幫助我們快速定位代碼中的錯誤。下面列出gdb常用命令及用法:

1. start

運行程序並停在程序的起始點


(gdb) start

2. break

設置斷點


(gdb) break file.c:line

3. run

運行程序直到遇到斷點


(gdb) run

4. next

執行當前行並移到下一行


(gdb) next

5. step

進入當前行所調用的函數體內部


(gdb) step

二、gdb調試常用命令

gdb除了上文提到的常用命令外,還有一些常用的調試命令,下面做一些詳細的介紹。

1. info

查看程序信息


(gdb) info functions                // 列出所有函數
(gdb) info breakpoints             // 列出所有斷點
(gdb) info watchpoints             // 列出所有監視點
(gdb) info locals                   // 列出當前函數中的本地變數
(gdb) info args                     // 列出當前函數的參數

2. print

列印變數的值或表達式的計算結果


(gdb) print var
(gdb) print expression

3. set

修改變數的值


(gdb) set var = new_value

4. continue

繼續執行程序


(gdb) continue

5. frame

查看當前堆棧幀


(gdb) frame

三、gdb命令

在使用gdb時,有一些必須掌握的基本命令。

1. help

查看幫助信息


(gdb) help
(gdb) help info
(gdb) help break

2. quit

退出gdb


(gdb) quit

3. file

指定調試的可執行文件


(gdb) file program

四、gdb常用調試命令總結

通過以上介紹,我們梳理出來了一些常見的gdb調試命令,下表給出了這些命令及其用途。

命令用途
start運行程序並停在程序的起始點
break設置斷點
run運行程序直到遇到斷點
next執行當前行並移到下一行
step進入當前行所調用的函數體內部
info查看程序信息
print列印變數的值或表達式的計算結果
set修改變數的值
continue繼續執行程序
frame查看當前堆棧幀
help查看幫助信息
quit退出gdb
file指定調試的可執行文件

五、gdb下運行程序的命令

在gdb中,也可以使用一些命令來運行程序。

1. r

快捷方式,等同於run


(gdb) r

2. starti

從程序的起始點開始運行,每次只執行一條彙編指令


(gdb) starti

3. nexti

執行下一條彙編指令


(gdb) nexti

六、linux gdb命令

gdb不僅支持在本地運行,也可以在遠程Linux系統中調試程序。下面列舉一些Linux系統下常用的gdb命令。

1. gdbserver

在Linux系統上啟動gdbserver


$ gdbserver host:port program

2. set remote debugging

設置gdb為遠程調試模式


(gdb) set remote debugging on

3. target remote

與遠程gdbserver建立連接


(gdb) target remote host:port

七、總結

本文對gdb常用命令進行了詳細的介紹,包括調試工具gdb常用命令匯總、gdb調試常用命令、gdb命令、gdb常用調試命令總結、gdb下運行程序的命令和linux gdb命令。在實際編程開發中,熟練掌握這些命令可以極大地提高代碼調試的效率。

原創文章,作者:REAIC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330227.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
REAIC的頭像REAIC
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Powershell常用命令總結

    PowerShell是微軟公司開發的一種基於任務和命令的腳本語言及相應的開發工具。它可跨平台運行,在Windows操作系統上是強大且廣泛使用的命令行工具。本文將介紹PowerShe…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • MPU6050工作原理詳解

    一、什麼是MPU6050 MPU6050是一種六軸慣性感測器,能夠同時測量加速度和角速度。它由三個感測器組成:一個三軸加速度計和一個三軸陀螺儀。這個組合提供了非常精細的姿態解算,其…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25

發表回復

登錄後才能評論