這系列文章,以 Visual C++ 為例,主要提一下目前 IDE 在協助 Debug Trace 時,可能會提供哪些功能。由於手邊較常用的是 Visual Studio,故以 Visual Studio 為例。這裡的說明,是我較常用到的技巧,其實有跳過一些比較少用的 process、thread、modules 監看,但下面前八篇,整體對一般開發而言,應是足夠的。其實比較想學的是,其他的 debug tool 怎麼用,如 WinDbg 之類的東西。其他 debug tool 使用技巧,不定期發新文時,將再維設護目錄。
edisonx 發表在 痞客邦 留言(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;
}
edisonx 發表在 痞客邦 留言(0) 人氣()
edisonx 發表在 痞客邦 留言(1) 人氣()
edisonx 發表在 痞客邦 留言(0) 人氣()
壹、 設定變數變更中斷
假設一段程式,執行1000次隨機數,若隨機數為 100 之倍數,將 counter + 1 ,
edisonx 發表在 痞客邦 留言(0) 人氣()
壹、自動變數
在 逐步 Trace 之概述裡面有提到,呼叫監看視窗是以「自動變數」方式觀查,
edisonx 發表在 痞客邦 留言(0) 人氣()
在 上篇文章 中,已概述如何進行 trace,第四步驟提到的是「不進入函式」方式執行,
但實際上還有另一「逐步執行」選項,本文簡略說明其差異。
edisonx 發表在 痞客邦 留言(0) 人氣()
一堆人都說,擅用 IDE,逐步執行,追蹤結果,我也常和 Visual C++ 使用者這麼說。
有時問別人「會不會 Trace」,得到的答案是「會 Trace」,事實似乎並非如此,
edisonx 發表在 痞客邦 留言(3) 人氣()
1. assert 函式
一般在做 trace 時,似乎比較少人用到 assert,assert 裡面放的判斷是,如果「不成立的話」,程式便不會繼續執行下去。以下述程式碼而言
edisonx 發表在 痞客邦 留言(3) 人氣()