前言
第一章 簡介和范圍
1.1 事件驅動的范例
1.2 迎戰(zhàn)錯誤
1.3 錯誤源和錯誤分類
1.4 最小化錯誤的數量
1.5 最小化錯誤的代價
1.6 章節(jié)概要
第二章 Win32的存儲管理系統(tǒng)
2.1 虛擬地址空間
2.2 堆
2.3 堆函數
2.4 虛擬存儲函數
2.5 章節(jié)概要
第三章 Visual C++的調試環(huán)境
3.1 斷言(Assertion)
3.2 非法訪問(Access Volation)
3.3 VERIFY
3.4 調試環(huán)境
3.5 調試和發(fā)布
3.6 映像文件(Map File)
3.7 C運行時庫的支持
3.8 Dump函數
3.9 例外(Exception)
3.10 例外處理的比較:C++,MFC和Win32
3.11 返回值
3.12 類CMemoryState
3.13 鉤住內存分配
3.14 類型轉換(Casts)
3.15 GetLastError()
3.16 驗證指針和字符串
3.17 章節(jié)概要
第四章 Visual C++調試器
4.1 縱覽
4.2 調試工具條
4.3 Call Stack窗口
4.4 程序問題
4.5 DLL
4.6 just-in-time(現(xiàn)場)調試
4.7 Visual C++編譯器錯誤
4.8 編譯器的Pragma
4.9 代碼移植
4.10 章節(jié)概要
第五章 其他的調試工具
5.1 MFC Tracer
5.2 Stress
5.3 Spy++
5.4 Browse
5.5 DDESpy
5.6 Profiler
5.7 Process Viewer
5.8 ErrLook工具
5.9 WinDiff工具
5.10 章節(jié)概要
第六章 商業(yè)的調試器和工程工具
6.1 BoundsChecker,vsual C++版
6.2 CodeWizard
6.3 代碼管理系統(tǒng)(Code Management System)
6.4 程序測試
6.5 Microsoft Visual Test
6.6 BugCollector Pro
6.7 支持軟件
6.8 章節(jié)概要
第七章 調試數據庫程序
7.1 數據庫設計和規(guī)范化
7.2 ODBC
7.3 DAO
7.4 選擇數據庫類
7.5 數據庫錯誤
7.6 SQL
7.7 SQL調試的局限性
7.8 SQL數據類型
7.9 章節(jié)概要
第八章 常見的錯誤和特殊問題
8.1 bool的尺寸
8.2 非整數(non-integer)被零除
8.3 在調用-findfirst()或者-findmext()之后調用-findclose()
8.4 C的運行時-expand()函數失敗后返回NULL
8.5 三元操作符(Ternary Conditional)
8.6 try塊和Switch語句
8.7 sizeof()和數組
8.8 URLMON.DLL
8.9 非法訪問(Access Violatlon)
8.10 排字錯誤
8.11 Clean命令文檔中的錯誤
8.12 Windbg不能使用Visual C++ vs.0的調試信息
8.13 ATL發(fā)布版本中的錯誤
8.14 /WS:AGGRESSIVE鏈接器選項
8.15 選項優(yōu)先和CL環(huán)境變量
8.16 /Zm選項
8.17 缺少的類型定義錯誤(Missing Type Definition Error)
8.18 關鍵字-emul()和-emulu()沒有定義
8.19 鏈接器的/OPT:ICF選項
8.20 在裝載NT符號的情況下調試Windows API函數
8.21 Resolving Error RC2104
8.22 編譯警告(Level4)C4238
8.23 編譯警告(Level3)C4800
8.24 編譯警告(Level1)C4804
8.25 編譯警告(Level1)C4806
8.26 編譯警告(Level1)C4807
8.27 編譯警告(Level1)C4808
8.28 章節(jié)概要
第九章 一般的Windows錯誤
9.1 位圖按鈕(Bitmapped Button)
9.2 單選按鈕(Radio Button)成員變量
9.3 同庫的連接
9.4 坐標系統(tǒng)(Coordinate System)
9.5 窗口句柄和設備上下文(Device Context)
9.6 字符串和數組
9.7 捕捉WM-HELP
9.8 章節(jié)概要
附錄A ODBC錯誤碼
附錄B SQLState值
附錄C DDEML錯誤碼