注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì).NETMicrosoft .NET和Windows應(yīng)用程序調(diào)試

Microsoft .NET和Windows應(yīng)用程序調(diào)試

Microsoft .NET和Windows應(yīng)用程序調(diào)試

定 價(jià):¥82.00

作 者: (美)John Robbins著;劉立宇等譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 微軟 NET程序員系列
標(biāo) 簽: 暫缺

ISBN: 9787302086260 出版時(shí)間: 2004-01-01 包裝: 平裝
開(kāi)本: 23cm+光盤1片 頁(yè)數(shù): 673頁(yè) 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是《應(yīng)用程序調(diào)試技術(shù)》一書的更新版本。全書共分4大部分,分別是“調(diào)試概述”、“強(qiáng)大的調(diào)試技術(shù)”、“.NET的強(qiáng)大工具和技術(shù)”和“本機(jī)代碼的強(qiáng)大工具和技術(shù)”。 作者以自己的多年編程和豐富的調(diào)試經(jīng)驗(yàn),全面介紹了各種調(diào)試,從XML Web服務(wù)和ASP.NET調(diào)試到Windows服務(wù)與異常的調(diào)試。還介紹了錯(cuò)誤和故障的類型,各種調(diào)試器的功能和工作原理,以及本機(jī)代碼和托管代碼的調(diào)試等。本書適用于有一定開(kāi)發(fā)經(jīng)驗(yàn)的中高級(jí)開(kāi)發(fā)人員和調(diào)試人員。

作者簡(jiǎn)介

  John Robbins是Wintellect公司的創(chuàng)始人之一,該公司是一家.NET和Windows咨詢、調(diào)試和教育公司,主要負(fù)責(zé)幫助軟件開(kāi)發(fā)公司更快更好地發(fā)布其軟件產(chǎn)品。John是公認(rèn)的調(diào)試領(lǐng)域內(nèi)的專家,他曾經(jīng)為eBay、Microsoft和AutoDesk等其他公司調(diào)試產(chǎn)品,并且是MSDN Magazine著名的專欄作家,負(fù)責(zé)廣受歡迎的“Bugslayer”專欄。

圖書目錄

第Ⅰ部分 調(diào)試概述
第1章 錯(cuò)誤來(lái)源和除錯(cuò)方法
1.1 錯(cuò)誤及其調(diào)試
1.1.1 什么是錯(cuò)誤
1.1.2 錯(cuò)誤產(chǎn)生的原因和解決辦法
1.1.3 規(guī)劃調(diào)試
1.2 優(yōu)秀調(diào)試人員的必備技能
1.2.1 所需技能
1.2.2 學(xué)習(xí)各種技能
1.3 調(diào)試過(guò)程
1.3.1 步驟1:重現(xiàn)錯(cuò)誤
1.3.2 步驟2:描述錯(cuò)誤
1.3.3 步驟3:總是假設(shè)是您自己造成的錯(cuò)誤
1.3.4 步驟4:分而治之
1.3.5 步驟5:創(chuàng)造性地思考
1.3.6 步驟6:借助于工具
1.3.7 步驟7:開(kāi)始大規(guī)模調(diào)試
1.3.8 步驟8:驗(yàn)證錯(cuò)誤已經(jīng)被更正
1.3.9 步驟9:學(xué)習(xí)和與人分享
1.3.10 調(diào)試過(guò)程的最終秘密
1.3.11 本章小結(jié)
第2章 開(kāi)始調(diào)試
2.1 跟蹤所有更改直至項(xiàng)目完成
2.1.1 版本控制系統(tǒng)
2.1.2 錯(cuò)誤跟蹤系統(tǒng)
2.1.3 選擇適當(dāng)?shù)南到y(tǒng)
2.2 在進(jìn)度表中安排時(shí)間建立調(diào)試系統(tǒng)
2.2.1 保證所有版本中都帶調(diào)試符號(hào)
2.2.2 把托管代碼中的編譯警告視為編譯錯(cuò)誤
2.2.3 對(duì)于本機(jī)代碼將大多數(shù)編譯警告視為編譯錯(cuò)誤
2.2.4 了解本機(jī)代碼中DLL的加載位置
2.2.5 如何處理托管模塊及其基址
2.2.6 為發(fā)布版本設(shè)計(jì)輕量級(jí)的診斷系統(tǒng)
2.3 必須進(jìn)行頻繁生成和冒煙測(cè)試
2.3.1 頻繁生成
2.3.2 冒煙測(cè)試
2.4 盡早創(chuàng)建安裝程序
2.5 QA必須測(cè)試調(diào)試版本
2.6 安裝操作系統(tǒng)調(diào)試符號(hào)并建立符號(hào)庫(kù)
2.7 本章小結(jié)
第3章 邊編碼邊調(diào)試
3.1 斷言
3.1.1 如何斷言以及斷言什么
3.1.2 在.NET Windows窗體或控制臺(tái)應(yīng)用程序中設(shè)置斷言
3.1.3 在ASP.NET程序和XML Web服務(wù)中設(shè)置斷言
3.1.4 在本機(jī)C++程序中設(shè)置斷言
3.1.5 Visual C++中不同類型的斷言
3.1.6 SUPERASSERT
3.2 跟蹤、跟蹤、再跟蹤
3.2.1 在Windows窗體應(yīng)用和控制臺(tái).NET應(yīng)用程序中跟蹤
3.2.2 在ASP.NET應(yīng)用程序和XML WEB Services中跟蹤
3.2.3 在本機(jī)C++應(yīng)用程序中跟蹤
3.3 注釋、注釋、再注釋
3.4 信任自己,但要進(jìn)行驗(yàn)證(單元測(cè)試)
3.5 本章小結(jié)
第Ⅱ部分 強(qiáng)大的調(diào)試技術(shù)
第4章 操作系統(tǒng)對(duì)調(diào)試的支持以及Win32調(diào)試器工作原理
4.1 Windows調(diào)試器的類型
4.1.1 用戶模式調(diào)試器
4.1.2 內(nèi)核模式調(diào)試器
4.2 Windows操作系統(tǒng)對(duì)調(diào)試對(duì)象的支持
4.2.1 實(shí)時(shí)(JIT)調(diào)試
4.2.2 在調(diào)試器中自動(dòng)啟動(dòng)(映像文件執(zhí)行選項(xiàng))
4.3 MinDBG:一個(gè)簡(jiǎn)單的Win32調(diào)試器
4.4 WDBG:真正的調(diào)試器
4.4.1 讀/寫內(nèi)存
4.4.2 斷點(diǎn)和單步執(zhí)行
4.4.3 符號(hào)表、符號(hào)引擎和堆棧遍歷
4.4.4 Step Into、Step Over和Step Out
4.5 編寫您自己的調(diào)試器
4.6 對(duì)WDBG的改進(jìn)建議
4.7 本章小結(jié)
第5章 Visual Studio.NET調(diào)試器高級(jí)用法
5.1 高級(jí)斷點(diǎn)及其用法
5.1.1 斷點(diǎn)設(shè)置技巧
5.1.2 在任何函數(shù)位置快速中斷
5.1.3 位置斷點(diǎn)智能特性
5.2 Watch窗口
5.2.1 在Watch窗口中調(diào)用方法
5.2.2 Set Next Statement命令
5.3 本章小結(jié)
第6章 Visual Studio.NET高級(jí).NET調(diào)試
6.1 .NET程序中的高級(jí)斷點(diǎn)
6.1.1 條件表達(dá)式
6.2 Watch窗口
6.2.1 自動(dòng)展開(kāi)自定義類型
6.3 提示與技巧
6.3.1 DebuggerStepThroughAttribute和DebuggerHiddenAttribute
6.3.2 混合模式調(diào)試
6.3.3 遠(yuǎn)程調(diào)試
6.4 ILDASM和Microsoft中間語(yǔ)言
6.4.1 開(kāi)始學(xué)習(xí)ILDASM
6.4.2 公共語(yǔ)言運(yùn)行庫(kù)(CLR)
6.4.3 MSIL、局部變量和參數(shù)
6.4.4 重要指令
6.5 其他逆向工程工具
6.6 本章小結(jié)
第7章 Visual Studio.NET本機(jī)代碼高級(jí)調(diào)試技術(shù)
7.1 本機(jī)應(yīng)用程序的高級(jí)斷點(diǎn)
7.1.1 高級(jí)斷點(diǎn)語(yǔ)法
7.1.2 系統(tǒng)或?qū)С龊瘮?shù)的斷點(diǎn)
7.1.3 條件表達(dá)式
7.1.4 數(shù)據(jù)斷點(diǎn)
7.1.5 更好的數(shù)據(jù)斷點(diǎn)
7.2 Watch窗口
7.2.1 數(shù)據(jù)的格式化和表達(dá)式的計(jì)算
7.2.2 在Watch窗口中記錄代碼執(zhí)行時(shí)間
7.2.3 未歸檔的偽寄存器
7.2.4 自動(dòng)展開(kāi)自己的類型
7.3 遠(yuǎn)程調(diào)試
7.4 提示與技巧
7.4.1 調(diào)試插入的代碼
7.4.2 Memory窗口和自動(dòng)內(nèi)存計(jì)算
7.4.3 監(jiān)視異常
7.4.4 處理符號(hào)的更多技巧
7.4.5 與Windows 2000進(jìn)程分離
7.4.6 處理轉(zhuǎn)儲(chǔ)文件
7.5 x86匯編語(yǔ)言
7.5.1 CPU基礎(chǔ)
7.5.2 淺談Visual C++.NET內(nèi)聯(lián)匯編器
7.5.3 您需要了解的指令
7.5.4 通用序列:函數(shù)的入口和出口
7.5.5 調(diào)用過(guò)程和返回
7.5.6 調(diào)用約定
7.5.7 變量訪問(wèn);全局變量、參數(shù)和局部變量
7.5.8 更多需要了解的指令
7.5.9 字符串操作
7.5.10 常見(jiàn)的匯編語(yǔ)言結(jié)構(gòu)
7.5.11 結(jié)構(gòu)引用和類引用
7.5.12 完整的示例
7.5.13 Disassembly窗口
7.5.14 手動(dòng)查看堆棧
7.5.15 提示與技巧
7.6 本章小結(jié)
第8章 WinDBG的高級(jí)本機(jī)代碼調(diào)試技術(shù)
8.1 要點(diǎn)回顧
8.2 基礎(chǔ)知識(shí)
8.3 調(diào)試環(huán)境
8.3.1 獲得幫助信息
8.3.2 確保加載了正確的符號(hào)
8.3.3 進(jìn)程和線程
8.4 使用Command窗口進(jìn)行普通調(diào)試
8.4.1 查看和計(jì)算變量
8.4.2 執(zhí)行、步進(jìn)和跟蹤
8.4.3 斷點(diǎn)
8.4.4 異常和事件
8.4.5 控制WinDBG
8.5 神奇的擴(kuò)展命令
8.5.1 加載和控制擴(kuò)展
8.5.2 重要的擴(kuò)展命令
8.6 處理轉(zhuǎn)儲(chǔ)文件
8.6.1 創(chuàng)建轉(zhuǎn)儲(chǔ)文件
8.6.2 打開(kāi)轉(zhuǎn)儲(chǔ)文件
8.6.3 調(diào)試轉(zhuǎn)儲(chǔ)文件
8.7 Son of Strike(SOS)擴(kuò)展
8.7.1 使用SOS
8.8 本章小結(jié)
第Ⅲ部分 .NET的強(qiáng)大調(diào)試工具和技術(shù)
第9章 擴(kuò)展Visual Studio .NET IDE
9.1 使用宏進(jìn)行擴(kuò)展
9.1.1 宏的參數(shù)
9.1.2 與項(xiàng)目有關(guān)的問(wèn)題
9.1.3 代碼元素
9.2 CommenTater:能解決共同面臨的棘手問(wèn)題嗎?
9.3 外接程序簡(jiǎn)介
9.3.1 修改外接程序向?qū)傻拇a
9.3.2 處理工具欄按鈕問(wèn)題
9.3.3 創(chuàng)建工具窗口
9.3.4 使用托管代碼創(chuàng)建選項(xiàng)屬性頁(yè)
9.4 SuperSaver外接程序
9.5 SettingsMaster外接程序
9.5.1 SettingsMaster的實(shí)現(xiàn)要點(diǎn)
9.5.2 對(duì)SettingsMaster的改進(jìn)建議
9.6 本章小結(jié)
第10章 托管異常的監(jiān)視
10.1 Profiling API簡(jiǎn)介
10.1.1 啟動(dòng)您的分析器
10.2 ProfilerLib
10.3 ExceptionMon
10.3.1 進(jìn)程內(nèi)調(diào)試與ExceptionMon
10.4 .NET中異常的使用
10.5 本章小結(jié)
第11章 流程跟蹤
11.1 在Profiling API中鉤掛函數(shù)
11.1.1 請(qǐng)求Enter和Leave通知
11.1.2 實(shí)現(xiàn)鉤子函數(shù)
11.1.3 內(nèi)聯(lián)
11.1.4 FunctionIDMapper函數(shù)
11.2 使用FlowTrace
11.3 FlowTrace實(shí)現(xiàn)中的主要問(wèn)題
11.4 對(duì)FlowTrace的改進(jìn)建議
11.5 本章小結(jié)
第Ⅳ部分 本機(jī)代碼的強(qiáng)大調(diào)試工具和技術(shù)
第12章 通過(guò)崩潰時(shí)返回的地址找到源文件和行信息
12.1 創(chuàng)建和讀取MAP文件
12.1.1 MAP文件內(nèi)容
12.1.2 尋找源文件、函數(shù)名和行號(hào)
12.1.3 PDB2MAP——崩潰發(fā)生后的Map文件
12.2 使用CrashFinder
12.2.1 實(shí)現(xiàn)要點(diǎn)
12.3 對(duì)CrashFinder的改進(jìn)建議
12.4 本章小結(jié)
第13章 崩潰處理機(jī)制
13.1 結(jié)構(gòu)化異常處理機(jī)制和C++異常處理機(jī)制
13.1.1 結(jié)構(gòu)化異常處理機(jī)制
13.1.2 C++異常處理機(jī)制
13.1.3 避免使用C++異常處理
13.1.4 不要使用_set_se_translator
13.2 SetUnhandledExceptionFilter API函數(shù)
13.3 使用CrashHandler API函數(shù)
13.4 轉(zhuǎn)換EXCEPTION_POINTERS結(jié)構(gòu)
13.5 小型轉(zhuǎn)儲(chǔ)(Minidump)
13.5.1 MiniDumpWrite Dump API
13.5.2 關(guān)于MiniDumpWrite Dump
13.6 本章小結(jié)
第14章 調(diào)試Windows服務(wù)和加載到服務(wù)中的DLL
14.1 服務(wù)的基礎(chǔ)知識(shí)
14.1.1 API要點(diǎn)
14.1.2 安全問(wèn)題
14.2 調(diào)試服務(wù)
14.2.1 調(diào)試核心代碼
14.2.2 調(diào)試基本服務(wù)
14.3 本章小結(jié)
第15章 多線程死鎖
15.1 多線程編程提示和技巧
15.1.1 不要使用多線程
15.1.2 不要過(guò)多使用多線程
15.1.3 只在很小的離散程序段中使用多線程
15.1.4 在最低級(jí)別同步
15.1.5 旋轉(zhuǎn)臨界區(qū)
15.1.6 不要使用CreateThread/ExitThread
15.1.7 默認(rèn)的內(nèi)存管理器可能令程序失敗
15.1.8 當(dāng)場(chǎng)進(jìn)行轉(zhuǎn)儲(chǔ)
15.1.9 檢查代碼——并再次檢查代碼
15.1.10 在多處理器機(jī)器上進(jìn)行測(cè)試
15.2 DeadlockDetection的要求
15.3 關(guān)于DeadlockDetection的高級(jí)設(shè)計(jì)問(wèn)題
15.4 使用DeadlockDetection
15.5 實(shí)現(xiàn)DeadlockDetection
15.5.1 鉤掛導(dǎo)入函數(shù)
15.5.2 實(shí)現(xiàn)要點(diǎn)
15.6 對(duì)DeadlockDetection的改進(jìn)建議
15.7 本章小結(jié)
第16章 自動(dòng)化測(cè)試
16.1 單元測(cè)試的難點(diǎn):用戶界面
16.2 對(duì)Tester的要求
16.3 使用Tester
16.3.1 Tester腳本
16.3.2 記錄腳本
16.4 實(shí)現(xiàn)Tester
16.4.1 TESTER.DLL通知和回放的實(shí)現(xiàn)
16.4.2 實(shí)現(xiàn)TESTREC.EXE
16.5 對(duì)Tester的改進(jìn)建議
16.6 本章小結(jié)
第17章 調(diào)試C運(yùn)行時(shí)庫(kù)和內(nèi)存管理
17.1 調(diào)試C運(yùn)行時(shí)庫(kù)的特性
17.2 使用調(diào)試C運(yùn)行時(shí)庫(kù)
17.2.1 DCRT中的缺陷
17.2.2 DCRT函數(shù)
17.3 為應(yīng)用程序選擇合適的C運(yùn)行時(shí)庫(kù)
17.4 使用MemDumperValidator
17.4.1 在C++中使用MemDumperValidator
17.4.2 在C語(yǔ)言中使用MemDumperValidator
17.4.3 深層驗(yàn)證
17.5 實(shí)現(xiàn)MemDumperValidator
17.5.1 在C++中初始化和終止
17.5.2 泄漏報(bào)告都到哪兒去了?
17.6 使用MemStress
17.6.1 有趣的壓力測(cè)試問(wèn)題
17.7 操作系統(tǒng)堆
17.8 發(fā)現(xiàn)內(nèi)存問(wèn)題的技巧
17.8.1 發(fā)現(xiàn)未初始化的內(nèi)存寫入問(wèn)題
17.8.2 發(fā)現(xiàn)內(nèi)存溢出
17.9 重要開(kāi)關(guān)
17.9.1 運(yùn)行時(shí)檢查開(kāi)關(guān)
17.9.2 緩沖區(qū)安全檢查開(kāi)關(guān)
17.10 本章小結(jié)
第18章 FastTrace:用于服務(wù)器應(yīng)用程序的高性能跟蹤工具
18.1 基本問(wèn)題和解決方案
18.2 使用FastTrace
18.2.1 合并跟蹤日志文件
18.3 FastTrace的實(shí)現(xiàn)
18.4 本章小結(jié)
第19章 優(yōu)化工作集
19.1 工作集調(diào)整
19.2 使用SWS
19.2.1 設(shè)置SWS編譯
19.2.2 使用SWS運(yùn)行應(yīng)用程序
19.2.3 生成和使用排序文件
19.3 實(shí)現(xiàn)SWS
19.3.1 _penter函數(shù)
19.3.2 .SWS文件格式和符號(hào)枚舉
19.3.3 運(yùn)行時(shí)符號(hào)問(wèn)題和模塊調(diào)整
19.4 對(duì)SWS的改進(jìn)建議
19.5 本章小結(jié)
附錄A:閱讀Dr.Watson日志

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)