利用條件斷點進行程式除錯

2021-08-25 20:20:24 字數 1258 閱讀 7560

利用條件斷點進行程式除錯

在乙個迴圈中如果使用簡單斷點來除錯程式,那麼將是非常耗時的。如果此時迴圈很多,根本就執行不完程式。所以visual c++還提供了條件斷點,也就是說在條件觸發時斷點才生效,程式進行到暫停狀態。在程式進行到暫停狀態前會彈出提示對話方塊,如圖1.66所示。

圖1.66 利用條件斷點進行程式除錯

條件需要斷點設定對話方塊來設定,呼叫斷點設定(breakpoints)對話方塊需要執行edit→breakpoints命令或按ctrl+b組合鍵。斷點設定對話方塊如圖1.67所示。

在斷點設定對話方塊中選擇location選項卡,在break at文字框中設定斷點。文字框旁邊的三角號可以提示當前游標的所在行,可以將斷點設定在當前游標處,也可以通過高階斷點設定對話方塊來通過指定在函式、原始檔、可執行檔案中的位置來設定指定斷點。設定完斷點後可以通過condition按鈕開啟條件斷點設定對話方塊,再設定斷點生效的條件。條件斷點設定對話方塊如圖1.68所示。

圖1.67 斷點設定對話方塊

圖1.68 條件斷點設定對話方塊

使用者可以在第乙個文字框中輸入斷點生效的表示式,還可以在第三個文字框中設定跳過的次數。

(1)建立基於對話方塊的應用程式。

(2)在標頭檔案debugprogramdlg.h中新增outputresult方法。

(3)outputresult方法的實現**如下:

voidcdebugprogramdlg::outputresult() 

strresult.format("%d",iresult);

getdlgitem(idc_ed_result)-

>

setwindowtext(strresult);

} (4)在iresult+=i;處設定斷點,然後設定斷點的生效條件是iresult>10。

(5)按f5鍵執行程式,但斷點生效時開始除錯程式。

心法領悟023:條件斷點的深層使用。

條件斷點不僅可以設定普通變數,也可以設定為結構體變數。如果是結構體變數,就需要在條件斷點設定對話方塊的第二個編輯框中設定是第幾個成員。

利用資料斷點進行程式除錯

利用資料斷點進行程式除錯 資料斷點是指對指定變數進行監控,程式執行到變數值發生改變時進入除錯狀態,進入除錯狀態前會彈出乙個確認對話方塊,例項對iresult變數進行監控。當iresult值發生改變時彈出對話方塊,如圖1.69所示。圖1.69 利用資料斷點進行程式除錯 資料斷點需要通過breakpoi...

在OD中使用條件斷點進行除錯

最近在逆向hr防毒軟體,感覺壓力很大,但是還好有前人已經幫助我們探過路了,並且也有大佬分享了一些經驗,讓我們逆向分析起來可以不用踩那麼多坑,這裡我就簡單的是記錄下我在逆向過程中,發現自己的一些問題,幫助自己成長。在od使用過程中,為了能夠快速斷在指定解密 處,我就在讀寫檔案處下斷,再逐步跟call,...

idea除錯之條件斷點

開發中有時會出現這樣的場景,在乙個很長的for迴圈中,我們只想在某一次迴圈中 比如第50次迴圈,或者迴圈中某個值符合條件 讓斷點停住,進行進一步的除錯分析,此時使用idea的條件斷點就能很方便的解決問題。舉例如下 package demo public class conditionalbreakp...