壹、 條件式中斷

#include <stdio.h>
int main()
{
    int i, array[100];
    for(i=0; i!=sizeof(array)/sizeof(*array); i++)
        array[i]=i; /* break point here */
    return 0;
}

 Watch_071.png

中斷點下好時,先別用 F5 偵錯執行,在該行按右鍵 -> 中斷點 -> 條件

 Watch_072.png

直接輸入中斷條件,完成按確定

 Watch_073.png

好了之後再以 F5 偵錯執行,一開始中斷是在 index=0,數值都沒變化。

Watch_074.png  

再按一次 F5,十筆中斷一次。

Watch_075.png  

 

貮、 變更式中斷

 

#include <stdio.h>
int main()
{
    int i=0, count=0;
    for(i=0; i!=100; ++i)
        if(i%10==0) ++count;
    return 0;
}

這其實有其他的方式 (在他篇文章) 有提過。

Watch_076.png 

和上述一樣,在 BreakPoint 那行,按下按右鍵 -> 中斷點 -> 條件

Watch_077.png

當 count 做變更時,才進行中斷,做以下設定。

 Watch_078.png

第一次按 F5 偵錯執行時,i=1, count=1

Watch_079.png

再下一次時,i=11, count=2。

 Watch_080.png  

 

參、  叫用次數 式中斷

 

#include <stdio.h>
int main()
{
    int i=0, count=0;
    for(i=0; i!=100; ++i)
        ++count;
    return 0;
}

 

中斷點設在 ++count。

Watch_081.png

按右鍵->中斷點->叫用次數

 Watch_082.png

預設是「永遠中斷」

Watch_083.png 

可以選擇其他「中斷於叫用次數等於」、「中斷於叫用次數倍數於」、「中斷於叫用次數大於或等於」等。

Watch_084.png  

---

其它還有兩個選項:「篩用」、「叫用時」,此處不予說明,可自行試試。

 

 

 

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()