Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux GCC/GDB 入門:編譯、執行、除錯、斷點、變數檢視、記憶體查看基礎操作

編輯:Linux 教學

GCC 編譯與執行

# 編譯產生可執行檔
gcc -o myprog myprog.c

# 加入除錯資訊(-g)供 GDB 使用
gcc -g -o myprog.debug myprog.c

# 執行
chmod +x myprog
./myprog

GDB 基礎除錯流程

gdb ./myprog.debug          # 載入帶除錯符號的執行檔
(gdb) list 1                # 顯示原始碼(預設 10 行)
(gdb) break 10              # 第 10 行設斷點
(gdb) info breakpoints      # 查看所有斷點
(gdb) run                   # 開始執行,停在第一個斷點
(gdb) next                  # 單步執行(不進入函數)
(gdb) step                  # 單步進入函數
(gdb) continue              # 繼續執行至下一個斷點
(gdb) print var_name        # 印出變數值
(gdb) print/x addr          # 以十六進位印出記憶體地址內容
(gdb) quit                  # 退出 GDB

常用 GDB 指令速查

指令縮寫功能
breakb設斷點
deleted刪除斷點
runr執行程式
continuec繼續執行
nextn下一行(step over)
steps進入函數(step in)
printp印變數/運算式
displaydisp每次停下自動印變數
backtracebt呼叫堆疊
framef切換堆疊幀
watchwatch監視變數變化

記憶體查看

(gdb) x/10xw 0x7fffffffe000   # 以 10 個 4-byte 十六進位字顯示記憶體
(gdb) x/s 0x601080             # 以字串顯示
(gdb) x/i $pc                  # 反組譯下一條指令

進階建議

  • IDE 整合:VS Code + C/C++ 擴充、CLion、Eclipse CDT、Qt Creator 皆內建 GDB 前端,視覺化除錯體驗更佳。
  • 核心 Dump 分析:ulimit -c unlimited 開啟 core dump,gdb ./prog core.xxx 事後分析崩潰現場。
  • 遠端除錯:gdbserver :1234 ./prog 目標機,target remote ip:1234 本地 GDB 連接。
Copyright © Windows教程網 All Rights Reserved