目前分類:Debug (9)

瀏覽方式: 標題列表 簡短摘要

這系列文章,以 Visual C++ 為例,主要提一下目前 IDE 在協助 Debug Trace 時,可能會提供哪些功能。由於手邊較常用的是 Visual Studio,故以 Visual Studio 為例。這裡的說明,是我較常用到的技巧,其實有跳過一些比較少用的 process、thread、modules 監看,但下面前八篇,整體對一般開發而言,應是足夠的。其實比較想學的是,其他的 debug tool 怎麼用,如 WinDbg 之類的東西。其他 debug tool 使用技巧,不定期發新文時,將再維設護目錄。

 

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

壹、 條件式中斷

#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

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

壹、記憶體視窗簡易操作

 

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

壹、 靜態陣列 與 動態陣列 監看

  

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

壹、 設定變數變更中斷

假設一段程式,執行1000次隨機數,若隨機數為 100 之倍數,將 counter + 1 ,

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

壹、自動變數

逐步 Trace 之概述裡面有提到,呼叫監看視窗是以「自動變數」方式觀查,

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

上篇文章 中,已概述如何進行 trace,第四步驟提到的是「不進入函式」方式執行,

但實際上還有另一「逐步執行」選項,本文簡略說明其差異。

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

一堆人都說,擅用 IDE,逐步執行,追蹤結果,我也常和 Visual C++ 使用者這麼說。

有時問別人「會不會 Trace」,得到的答案是「會 Trace」,事實似乎並非如此,

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

1. assert 函式

一般在做 trace 時,似乎比較少人用到 assert,assert 裡面放的判斷是,如果「不成立的話」,程式便不會繼續執行下去。以下述程式碼而言

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

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼