Linux gdb設置和管理斷點


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一行的字符數等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM