gdb斷點相關3 臨時斷點 條件斷點 忽略斷點

2021-09-02 04:23:32 字數 1277 閱讀 9089

#include

#include

typedef

struct

ex_st;

int main (

int argc,

char

*argv)

;printf

("%d, %d, %d, %d\n"

, st.a, st.b, st.c, st.d)

;return0;

}

在使用gdb除錯時,如果想讓斷點只生效一次,可以使用tbreak命令(縮寫為tb),和設定斷點的過程一樣

可以看到,設定了臨時斷點之後,執行程式,再次檢視斷點資訊,發現已經沒有斷點了,只生效了一次

}

gdb設定條件斷點的命令是break 行號 if 條件,意思是只有在條件滿足的時候,斷點才會被觸發

在下面的程式中,可以看到斷點在為101的時候觸發了,此時列印sum的值,為5050 = (1+100)×100/2

}

在設定了斷點之後,可以使用命令ignore 斷點編號i cnt來忽略斷點

意思是接下來的cnt次編號為i的斷點觸發都不會讓程式暫停,只有第cnt+1次斷點觸發才會讓程式暫停

可以看到,設定忽略斷點前5次觸發後,下一次斷點觸發時,i的值是6

gdb 條件斷點

gdb 條件斷點 1.有時候,我們需要斷點在迴圈的某個條件處時,比如以下 include int main int argc,char argv return 0 2.開始編譯 cc g main.c將生成a.out 3.開始斷點 gdb a.out l l命令用於檢視 4.通過以上命令可以看到 m...

OD 條件斷點 條件記錄斷點

以下演示如何下條件斷點 在除錯過程中,經常希望斷點滿足一定條件時才中斷,這類斷點稱為條件斷點,在od的幫助文件有詳細的說明 1 按暫存器條件中斷 用od開啟conditional bp.exe,在0040147c,按shift f2設定條件斷點 輸入表示式eax 040000,這樣如果eax為040...

GDB 斷點設定

啟動gdb後,首先就是要設定斷點,程式中斷後才能除錯。在gdb中,斷點通常有三種形式 斷點 breakpoint 在 的指定位置中斷,這個是我們用得最多的一種。設定斷點的命令是break,它通常有如下方式 可以通過info breakpoints n 命令檢視當前斷點資訊。此外,還有如下幾個配套的常...