1.以行號設置斷點 (gdb)break 7 (gdb)run 2.以函數名設置斷點 (gdb)break function_name (gdb)run 3.以條件表達式設置斷點 (gdb)break 7 if i==99 (gdb)run 4.另一種,以表達式設置斷點的方法 (gdb)watch i==99 這個命令必須在變量i被定義之后才會成功運行,為了解決這個問題,首先在變量 i 被定義的后一行設置中斷,然后使用run命令運行程序,程序暫停后就可以使用watch i==99設置斷點了。 ############################## 單步執行 (gdb)next ############################# 查看當前設置的斷點信息 (gdb)info breakpoints
使中斷失效(斷點仍然存在)或有效 (gdb)info breakpoints (gdb)disable b_id //使中斷失效,b_id 為中斷編號 (gdb)info breakpoints (gdb)enable b_id //使中斷有效,b_id 為中斷編號 (gdb)info breakpoints ############################## 刪除斷點 clear : 刪除程序中所有的斷點 clear 行號 : 刪除這行的斷點 clear 函數名 : 刪除該函數的斷點 delete b_id1 b_id2 ... : 刪除指定編號的斷點 ################################## 查看和設置變量值 1.print命令 print 變量或表達式:打印變量或表達式當前的值。 print 變量=值:對變量進行賦值。 print 表達式@要打印的值的個數n:打印以表達式開始的n個數 2.whatis命令:顯示某個變量或表達式值的數據類型 whatis 變量或表達式 例子: 3.set命令:給變量賦值 set variable 變量=值 【提示】set命令還可以針對遠程調試進行設置,可以用來設置gdb一行的字符數等。 |