GNU Debugger(GDB) 對使用 Linux 進行開發的程式撰寫者來說可說是不可或缺的工具。其通過強大的 ptrace 系統呼叫,讓 GDB 可以追蹤甚至修改其他行程(process)。
在本議程中,我們基於 ptrace 在 Linux 上打造一款具體而微的 debugger,結合被除錯者(debuggee) 的 DWARF 資訊,這個 debugger 可以提供斷點(breakpoint)設置、被除錯者的暫存器與記憶體的讀寫、原始碼等級(source-level) 的單步執行與堆疊展開(stack unwinding)等功能。藉由此具體而微的 debugger,我們將對 ptrace 在 GDB 中扮演的角色有更深刻的認識。
About RinHizakura
毫無回應,就只是個沒料的饅頭