Tag: gdb

  • gdb 錦囊妙計

    gdb 錦囊妙計

    Wonderful / Amazing TUI in gdb (but what name?)   很少人知道,但是非常有用的  – TUI (Text User Interface) 這個東西可以讓原本很難用的 gdb 變得非常好用 (應該說比較直觀),開啟之後會將畫面切分為二,上層顯示 source code,下層輸入 gdb 指令。以下是 TUI 的相關示範。   輸入 ctrl x + a 開啟 TUI,再次輸入 ctrl x + a 可以關閉 TUI。 TUI mode 中的上下左右鍵移動的是 TUI。 輸入 ctrl + p 可以回到前一個指令,ctrl + n 可以到後一個指令。 如果因為 printf 等輸出弄爛了整著介面,可以按 ctrl…

  • gdb 顯示 FLAGS register

    假設有這樣的程式碼 > cat eflags.c #include <stdint.h> int main(void) { int32_t n = 2147483647; n = n + 1; printf(“%dn”, n); return 0; } 在 int32_t 的情況下,2147483647 是最大值,加上 1 之後預期 variable n 會 overflow。 我們都知道 CPU 裏面有 FLAGS register 可以表示處理器現在的狀況,那要怎麼在 gdb 裏面顯示呢? 只要在 gdb 裏面打這個指令就會顯示出 FLAGS register 目前的數值。 (gdb) info reg eflags eflags 0xa96 [ PF…