PIXNET Logo登入

Edison.X. Blog

跳到主文

YouLoveMe() ? LetItBe() : LetMeFree() ;

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 13 週二 201101:40
  • [Debug] Debug 技巧目錄

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

 [Debug] Visual C++ Assert
 [Debug] Visual C++ 逐步 Trace (概述)
 [Debug] Visual C++ 逐步執行 與 不進入函式執行 差異
 [Debug] Visual C++ 監看視窗使用技巧
 [Debug] Visual C++ 設立中斷點 / 切換堆疊技巧
 [Debug] Visual C++ look up array / container
 [Debug] Visual C++ 記憶體監看
 [Debug] Visual C++ 條件式中斷
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(3,357)

  • 個人分類:Debug
▲top
  • 9月 13 週二 201101:15
  • [Debug] Visual C++ 條件式中斷

Watch_071.png壹、 條件式中斷
#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) 人氣(1,321)

  • 個人分類:Debug
▲top
  • 9月 09 週五 201116:24
  • [Debug] Visual C++ 記憶體監看

Watch_051.png壹、記憶體視窗簡易操作
 
以 malloc / new 而言,無法使用監看式方式查看記憶體內含值,此時必須藉助記憶體視窗監看。考慮以下程式碼
#include <stdio.h>
#define N 10
int main()
{
int i, arr[N];
for(i=0; i!=N; ++i)
arr[i]=100+i;
for(i=0; i!=N; ++i) /* break point here */
printf("arr[%d]=%d\n", i, arr[i]);
return 0; /* break point here */
}
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(1) 人氣(6,560)

  • 個人分類:Debug
▲top
  • 9月 09 週五 201103:07
  • [Debug] Visual C++ look up array / container

Watch_039.png壹、 靜態陣列 與 動態陣列 監看
  
針對一般靜態陣列而言,大多數附 debug 功能之 IDE 都有此功能,且查看非常方便。
(繼續閱讀...)
文章標籤

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

  • 個人分類:Debug
▲top
  • 9月 07 週三 201123:27
  • [Debug] Visual C++ 設立中斷點 / 切換堆疊技巧

Watch_021.png壹、 設定變數變更中斷
假設一段程式,執行1000次隨機數,若隨機數為 100 之倍數,將 counter + 1 ,
這次要觀查的是 counter 之變化 (程式碼中之 sum) 。程式碼如下
 
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(2,642)

  • 個人分類:Debug
▲top
  • 9月 07 週三 201102:46
  • [Debug] Visual C++ 監看視窗使用技巧

Watch_000.png壹、自動變數
在 逐步 Trace 之概述裡面有提到,呼叫監看視窗是以「自動變數」方式觀查,
但實際上用自動變數非常不方便觀查,
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(11,300)

  • 個人分類:Debug
▲top
  • 8月 30 週二 201112:57
  • [Debug] Visual C++ 逐步執行 與 不進入函式 差異

VCMPI000.png在 上篇文章 中,已概述如何進行 trace,第四步驟提到的是「不進入函式」方式執行,
但實際上還有另一「逐步執行」選項,本文簡略說明其差異。
 
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(2,537)

  • 個人分類:Debug
▲top
  • 8月 30 週二 201112:27
  • [Debug] Visual C++ 逐步Trace (概述)

DebugBreak (1).png一堆人都說,擅用 IDE,逐步執行,追蹤結果,我也常和 Visual C++ 使用者這麼說。
有時問別人「會不會 Trace」,得到的答案是「會 Trace」,事實似乎並非如此,
這裡做簡單簡介,一些細節差異,日後於他文補充。

(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(4) 人氣(2,872)

  • 個人分類:Debug
▲top
  • 8月 30 週二 201111:41
  • [Debug] Visual C++ Assert

DebugAssert (2).png1. assert 函式
一般在做 trace 時,似乎比較少人用到 assert,assert 裡面放的判斷是,如果「不成立的話」,程式便不會繼續執行下去。以下述程式碼而言
  
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(3) 人氣(10,295)

  • 個人分類:Debug
▲top
1

個人資訊

edisonx
暱稱:
edisonx
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (4,977)多測資處理
  • (21,951)bitset 整理
  • (111,302)[C&++] 字串整數轉換
  • (444,400)[C] printf 引數說明
  • (39,454)[C] scanf 引數說明
  • (49,754)VBA Procedure 簡述
  • (58,119)[浮點數] IEEE754 , C/C++ 浮點數誤差
  • (80,133)[C] 計時器整理
  • (53,329)[Poker] 撲克牌遊戲設計介紹
  • (143,108)C/C++ 學習歷程分享

文章分類

toggle 開發手札 (2)
  • 未實作的想法 (4)
  • 心得筆記 (2)
toggle C/C++ (8)
  • C/C++ Note (52)
  • 亂數 (10)
  • Debug (9)
  • Hidden Features in C (6)
  • OO NOTE (0)
  • 面試題庫 (12)
  • C/C++ FAQ (4)
  • STL Note (3)
toggle 應用軟體/工具 (1)
  • Office (1)
toggle 數值分析 (9)
  • 非線性方程式求解 (10)
  • 矩陣運算 (7)
  • 深入質數 (5)
  • 浮點數 (9)
  • 複數 Complex (2)
  • 積分法 (2)
  • 多項式內差法 (2)
  • 常見關於數 (5)
  • math.h/cmath application (8)
toggle 程式之美 (1)
  • 遊戲之樂 (3)
toggle VB.Net (1)
  • VB.Net Note (1)
toggle 英文 (1)
  • 專題單字 (1)
toggle AutoIt!! (2)
  • AutoIt!! Note (13)
  • Auto-Dll (9)
toggle VBA (4)
  • VBA FAQ (5)
  • VBA Note (9)
  • VBA tec. (1)
  • VBA_Note2 (3)
toggle MFC (1)
  • MFC雜記 (4)
toggle Win32 (8)
  • Process (10)
  • Win32-Console (5)
  • 檔案系統 (1)
  • 音效 (1)
  • 隱喻外掛 (3)
  • System undoc. (0)
  • GDI (2)
  • 記憶體管理 (1)
toggle 環境與Script (4)
  • visual studio (6)
  • 批次檔batch (2)
  • 程式環境架構 (3)
  • Library (3)
toggle 數學整理 (2)
  • 常用公式 (1)
  • 有趣數學 (2)
toggle 演算法 (7)
  • Bit-Hacks (1)
  • AI (13)
  • 大數 (5)
  • 資料結構 (0)
  • 影像 (2)
  • 遞迴-recursive (2)
  • 回溯.列舉.遞迴 (2)
toggle 程設亂語 (1)
  • 胡言亂語 (10)
toggle SmallTalk (1)
  • SmallTalk (27)
  • 未分類文章 (1)

最新文章

  • 轉戰 python
  • [MFC] CArray 注意事項
  • 你真的很狠...
  • [開發手札] tool 整理 <NOTE>
  • [開發手札] vs dll 相容性
  • [開發手札] vc 效率問題
  • [開發手札] 修改 exe 裡面的 constant
  • [開發手札] 受不了 IDE 常當機問題...
  • [Job] Job Journal 130501
  • [面試] some tips

動態訂閱

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣:

留言板