GDB

軟件截圖:
GDB
軟件詳細信息:
版本: 8.1.1 更新
上傳日期: 16 Aug 18
開發: Stan Shebs
許可: 免費
人氣: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (也稱為GNU Project調試器)是一個開源和免費的命令行軟件,允許用戶和開發人員同樣看到“內部”另一個程序的內容,而它是已執行,或者某個應用程序在某個時刻崩潰的原因。


功能一目了然

主要功能包括四種不同的技術,可幫助開發人員捕獲行為中的錯誤,啟動應用程序並指定可能影響其行為的任何內容,使程序在指定條件下停止,在應用程序崩潰時檢查日誌,逐步更改一個程序,以試驗糾正一個問題的影響,並繼續了解另一個錯誤。 它還支持調試用各種編程語言編寫的程序,包括C,C ++,Pascal ,Ada,Objective-C和許多其他人。

它是一個命令行應用程序

GNU Project調試器始終是一個命令行應用程序。要使用它,您必須運行“gdb”。命令在終端模擬器中,然後執行“幫助”。命令(不帶引號)a gdb提示符。此外,您還可以輸入“全部幫助”。命令查看所有命令的列表,鍵入“help”後跟命令名查看完整文檔,鍵入“help”後跟類名查看該類中的命令列表,鍵入“apropos word”進行搜索與“word。”相關的命令。


命令類列表

輸入“幫助”後如上所述,您將看到命令類列表,包括別名(顯示其他命令的別名),斷點(使程序在某些點停止),數據(用於檢查數據),文件(用於檢查文件) ,內部(維護命令),模糊(晦澀的功能),運行(用於運行程序),堆棧(用於檢查堆棧),狀態(用於狀態查詢),支持(用於支持設施),跟踪點(用於跟踪程序執行而無需停止程序)和用戶定義的(用戶定義的命令)。

支持的硬件平台和操作系統

GDB從偏移設計為跨平台應用程序,在Microsoft Windows等主流操作系統和一些最流行的Linux / UNIX變體上運行。它在32位和64位硬件平台上都受支持。

此版本中的新功能

  • PR gdb / 22824(GDB 8.1 NEWS文件中新的rbreak Python函數的誤導性描述)
  • PR gdb / 22849(ctrl-c在擴展遠程中不起作用)
  • PR gdb / 22907([回歸] gdbserver不適用於僅限文件名的二進製文件)
  • PR gdb / 23028(vcvtpd2dq的反彙編不一致)
  • PR gdb / 23053(修復-D_GLIBCXX_DEBUG gdb-add-index regression)
  • PR gdb / 23127([AArch64] GDB不能用於調試使用高虛擬地址的軟件)
  • PR server / 23158(gdbserver在Windows上不再起作用)
  • PR斷點/ 23210([8.1 / 8.2回歸]虛假斷點地址從0xf7fe7dd3調整為0xfffffffff7fe7dd3)

8.1版中的新功能

  • 默認情況下,所有範圍都設置了C ++函數的斷點(“wild”匹配);
  • 支持在標有C ++ ABI標記的函數上插入斷點;
  • 表達式評估期間的目標浮點算術仿真(需要MPFR 3.1或更高版本);
  • 各種Python腳本增強功能;
  • 改善Rust支持;特別是,現在可以在調試Rust代碼時檢查Trait對象;
  • GDB不再對沒有調試信息的符號類型做出假設,以避免產生錯誤且常常令人困惑的結果;
  • 'enable'和'disable'命令現在接受一系列斷點位置;
  • 用於在第一條指令啟動程序的新'starti'命令;
  • 新的'rbreak'命令通過正則表達式模式插入多個斷點(需要Python);
  • 'ptype'命令現在支持在結構中打印字段的偏移量和大小;
  • 'gcore'命令現在支持轉儲所有內存映射('-a'命令行選項);
  • TUI單鍵模式的新快捷方式:“i”代表stepi,“o”代表nexti;
  • GDBserver增強功能:
  • 支持將環境變量傳輸到GDBserver;
  • 支持使用指定的初始工作目錄啟動劣質流程;
  • 在Unix系統上,支持globbing擴展和劣質命令行參數的變量替換;
  • 各種完成改進;
  • 現在可以配置使用'compile'命令編譯和注入代碼的命令;
  • 新的'--readnever'命令行選項可在不需要調試信息時加速GDB啟動;
  • 支持以下新的原生配置:
  • FreeBSD / aarch64(aarch64 * - * - freebsd *);
  • FreeBSD / arm(arm * - * - freebsd *);
  • 支持以下新目標:
  • FreeBSD / aarch64(aarch64 * - * - freebsd *);
  • FreeBSD / arm(arm * - * - freebsd *);
  • OpenRISC ELF(or1k * - * - elf)
  • 刪除了對以下目標和本機配置的支持:
  • Solaris2 / x86(i?86 - * - solaris2。[0-9]);
  • Solaris2 / sparc(sparc * - * - solaris2。[0-9]);

版本中的新功能

  • 構建此版本的GDB現在需要以下工具:
  • C ++ - 11編譯器(例如,GCC 4.8或更高版本);
  • GNU make 3.81或更高版本。
  • 此版本中的更改包括:
  • C ++:支持右值參考
  • Python腳本增強功能:
  • 啟動,停止和訪問正在運行的btrace錄製的新功能。
  • gdb.Type中的右值參考支持。
  • GDB命令解釋器:
  • 用戶命令現在接受無限數量的參數。
  • “eval”。命令現在擴展用戶定義的參數。
  • DWARF第5版支持
  • (請注意,它的.debug_names索引尚不支持)。
  • GDB / MI增強功能:
  • 新建-file-list-shared-libraries命令列出程序中的共享庫。
  • 新的-target-flash-erase命令,用於擦除閃存。
  • 支持原生FreeBSD / mips(mips * - * - freebsd)
  • 支持以下目標:
  • Synopsys ARC(arc * - * - elf32)
  • FreeBSD / mips(mips * - * - freebsd)
  • 其他增強功能:
  • MS-Windows主機現在支持命令行重定向。
  • 支持MS-Windows上的線程名稱。
  • 支持GNU / Linux上的PKU註冊。
  • 支持sparc32和sparc64上的目標描述。
  • 用於擦除閃存的新GDB / CLI命令
  • rdrand和rdseed說明記錄/重播支持。
  • 已刪除對以下功能的支持:
  • 支持使用gcj
  • 編譯的Java程序
  • 支持以下配置:
  • FreeBSD / alpha(alpha * - * - freebsd *)
  • GNU / kFreeBSD / alpha(alpha * - * - kfreebsd * -gnu)

版本7.9.1中的新內容

  • PR build / 18033(C ++樣式註釋用於gdb / iq2000-tdep.c和gdb / compile / compile - * .c)
  • PR build / 18298(如果工具配置為triplet而不是quadruplet,則“compile"”命令找不到編譯器)
  • PR tui / 18311(在TUI模式下顯示寄存器時的隨機SEGV)
  • PR python / 18299(以詳細模式註冊全局漂亮打印機時的例外)
  • PR python / 18066(參數“word”在Command.complete(text,word)中似乎已斷開)
  • PR pascal / 17815(修復帶有測試用例的類字段的pascal行為)
  • PR python / 18285(ptype expr-with-xmethod導致SEGV)

7.9版中的新功能

  • Python腳本增強功能。
  • 源代碼編譯並註入劣質。
  • 新命令,選項,便利變量/選項。
  • MIPS SDE支持(mips * -sde * -elf *)。
  • 調試線程程序時更好地處理信號。

版本7.8.2中的新功能

  • PR symtab / 17642([7.8回歸]內部-error:resolve_dynamic_struct:斷言`TYPE_NFIELDS(type)> 0'失敗。)
  • PR binutils / 17677(_bfd_elf_get_synthetic_symtab以O(n ^ 2)複雜度運行)
  • PR gdb / 16215(SPARC:無法計算此幀的CFA)
  • PR gdb / 17525(目標異步:從-x腳本運行程序時未執行斷點命令)
  • PR cli / 17828([7.8回歸] -batch -ex r中斷終端)

版本7.8.1中的新功能

  • PR python / 17364(在bound_registers.py中需要更好的打印機名稱)
  • PR build / 17104(CFLAGS =" -Wall -Wextra" gdb / confgure --with-babeltrace failed)
  • PR gdb / 17345(babeltrace(1.1.2及更高版本)抱怨GDB生成的ctf數據)
  • PR build / 17298(gcore:無法獲取註冊:沒有這樣的過程)
  • PR python / 17342(Xmethod Python不兼容Python 3)
  • PR python / 17355(使用不可讀的arg的Python幀過濾器崩潰)
  • PR guile / 17367(將pkg-config腳本作為arg提供給--with-guile時計算公會路徑錯誤)
  • PR gdb / 17247(gdb在多線程應用上凍結)
  • PR gdb / 17347(回歸:GDB在附加過程中停止運行)
  • PR gdb / 17407(Linux vDSO閱讀的回歸)
  • PR server / 17457(aarch64 / gdbserver:錯誤的浮點寄存器顯示)
  • PR server / 17487(state-> dr_control_mirror == 0在Windows上的gdbserver中斷言失敗)
  • PR gdb / 17472(帶註釋,在前台執行時輸入崩潰readline / gdb)
  • PR gdb / 17471(重複後台命令使其成為前景)
  • PR cli / 17300(在非停止模式下崩潰,繼續-a&(readline_callback_read_char()調用沒有處理程序!)
  • PR python / 17372(顯示help()時python掛起)
  • PR python / 17408(../../gdb/infrun.c:5256:internal-error:switch_back_to_stepped_thread:斷言`!schedlock_applies(1)'失敗。)

版本7.8中的新功能

  • Guile腳本支持。
  • Python腳本增強功能。
  • 新命令,選項,便利變量/選項。
  • 遠程協議和GDBserver增強功能。
  • 新目標配置(PowerPC64 GNU / Linux little-endian)。
  • btrace增強功能。
  • ISO C99可變長度自動陣列支持。
  • “比較部分”。命令現在適用於所有目標。
  • “目標原生”命令現在連接到本機目標。

版本7.7中的新功能

  • 增強的Python腳本支持。
  • 一些C ++改進。
  • 新命令,選項,便利變量/選項。
  • 幾個GDB / MI新命令和增強功能。
  • 遠程協議和GDBserver增強功能。
  • 新目標配置(Nios II,TI MSP430)。
  • GDB Windows x64展開數據支持。
  • SystemTap SDT探針支持AArch64 GNU / Linux。
  • CTF(通用跟踪格式)支持。
  • 新腳本gcore和gdb-add-index.sh。
  • 改進了arm * -linux記錄/重播支持。
  • 刪除了對a.out NetBSD和OpenBSD過時配置的支持。保持支持這些配置的ELF變體。
  • “set | show remotebaud”"不推薦使用命令,而使用“show | show serial baud”。

版本7.6.2中的新功能

  • PR斷點/ 16251(AArch64硬件斷點錯誤後叉)
  • PR gdb / 16303(GDB 7.6.1不適用於MIPS16和microMIPS上的binutils 2.24)

版本7.6.1中的新功能

  • PR tdep / 15420(無法在較新版本的x86-solaris上調試線程程序 - Solaris 10,Update 10或更高版本)
  • PR remote / 15455(QTro遠程數據包已損壞)
  • PR build / 15476(由於utils.h中的枚舉類型不完整導致構建失敗)
  • PR server / 15594(在64x32 x86 gdbserver中支持不會將地址擴展到64位)
  • PR server / 15075(dprintf inteferes with“next”)
  • PR server / 15434(dprintf即使在非停止模式下也使用同步'繼續')
  • PR tui / 14880(在拆分寄存器佈局中,up會導致value.c中的斷言失敗)
  • PR c ++ / 15519(GDB 7.6比使用某個核心文件的GDB 7.5.1慢94倍)
  • PR gdb / 15837(GDB打印局部變量的條目值)
  • PR gdb / 15415(gdb在傳遞argv [0]時解析符號鏈接)
  • PR cli / 15603(CTRL-C不能再中斷)
  • PR gdb / 15604(gdbserver socket leak 7.5 regression)

7.5版中的新功能

  • 轉到語言支持。
  • 新目標(x32 ABI,microMIPS,瑞薩RL78,HP OpenVMS ia64)。
  • 更多Python腳本改進。
  • SDT(靜態定義跟踪)探針支持SystemTap探針。
  • GDBserver改進(stdio連接,斷點條件的目標端評估,遠程協議改進)。
  • 其他雜項改進(加載/卸載共享庫時停止的能力,動態printf等)。
  • ARM上的反向調試。
  • 二進制“gdbtui”已被遺棄,無法再建造。使用“gdb -tui”代替。

7.4版中的新內容

  • 現在可以更加一致地處理不明確的linespec。
  • 現在,當使用“跳過功能”踩踏時,可以跳過不感興趣的功能和文件。和“跳過文件”命令。
  • 添加了用於設置和獲取遠程目標硬件觀察點的最大長度限制的命令。
  • Python腳本大大改進。
  • 進行了許多其他改進,錯誤修正和一般更改。

7.1版中的新功能

  • 支持新目標(包括模擬器):
  • Xilinx MicroBlaze
  • Renesas RX
  • 主要新功能包括:
  • 多程序調試,允許調試器控制
  • 以上
  • 同一GDB會話中的一個程序。
  • 位置獨立可執行(PIE)調試。
  • 它還具有許多增強功能和錯誤修復功能,包括:
  • Python支持已得到擴展。
  • C ++支持改進(命名空間,強制轉換操作符,錯誤修復)
  • Tracepoint支持改進。
  • 流程記錄改進(保存/恢復執行日誌,硬件
  • 觀察點支持)。
  • 遠程協議增強功能(Linux內核調試,新數據包
  • for tracepoint support)

類似的軟件

Pyshield
Pyshield

11 May 15

jarvis
jarvis

20 Feb 15

interruptingcow
interruptingcow

14 Apr 15

rpcpdb
rpcpdb

20 Feb 15

顯影劑的其他軟件 Stan Shebs

Xconq
Xconq

2 Jun 15

意見 GDB

評論沒有發現
添加評論
打開圖片!